From 7e0abc7cde4a9c02fabc27cc2b6506bd41f0588d Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 23 Oct 2010 15:09:49 +0200 Subject: Fix hover issues Hopefully this commit fixes all issues with hovering over items. First, only use QCursor::pos() to determine the position of the hover window and fix position calculation accordingly. For that SmGlobals now return a QSize of the actual cursor size. Introduced a hoverOffeset to HoverWindow defaulting to SmGlobals::cursorSize() + 30 to prevent a HoverLeave event on showing the HoverWindow. Also fixed Qt::WindowFlags of HoverWindow. We don't want the HoverWindow to show in the taskbar or get sent to background when clicking on an item. --- smglobals.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'smglobals.cpp') diff --git a/smglobals.cpp b/smglobals.cpp index 84f0fd8..6b32527 100644 --- a/smglobals.cpp +++ b/smglobals.cpp @@ -84,13 +84,13 @@ PictureViewer *SmGlobals::pictureViewer() { return mPictureViewer; } -int SmGlobals::cursorOffset() { - if(mCursorOffset == -1){ +QSize SmGlobals::cursorSize() { + if(!mCursorSize.isValid()){ XFixesCursorImage *curImage = XFixesGetCursorImage(QX11Info::display()); - mCursorOffset = curImage->height; + mCursorSize = QSize(curImage->width, curImage->height); XFree(curImage); } - return mCursorOffset; + return mCursorSize; } -SmGlobals::SmGlobals() : mPictureViewer(0), mCursorOffset(-1) {} +SmGlobals::SmGlobals() : mPictureViewer(0) {} -- cgit v1.2.3-70-g09d2