[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/krunner
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2010-09-06 18:56:23
Message-ID: 20100906185623.C0B62AC884 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1172223 by aseigo:

fix resize for floating mode
BUG:242516


 M  +22 -17    krunnerdialog.cpp  


--- trunk/KDE/kdebase/workspace/krunner/krunnerdialog.cpp #1172222:1172223
@@ -398,15 +398,16 @@
 void KRunnerDialog::mousePressEvent(QMouseEvent *e)
 {
     if (e->button() == Qt::LeftButton) {
+        m_lastPressPos = -1;
+
+        if (m_floating) {
         m_vertResize = e->y() > height() - qMax(5, m_bottomBorderHeight);
-        m_rightResize = e->x() > width() - qMax(5, m_rightBorderWidth);
-        const bool leftResize = e->x() < qMax(5, m_leftBorderWidth);
-        if (!m_floating && (leftResize || m_rightResize || m_vertResize)) {
-            // let's do a resize! :)
-            m_lastPressPos = m_vertResize ? e->globalY() : e->globalX();
+            kDebug() << m_vertResize << e->y() << height() << qMax(5, m_bottomBorderHeight);
+            if (m_vertResize) {
+                m_lastPressPos = e->globalY();
+                m_resizing = true;
             grabMouse();
-            m_resizing = true;
-        } else if (m_floating) {
+            } else {
 #ifdef Q_WS_X11
             // We have to release the mouse grab before initiating the move operation.
             // Ideally we would call releaseMouse() to do this, but when we only have an
@@ -416,12 +417,20 @@
             // Ask the window manager to start an interactive move operation.
             NETRootInfo rootInfo(x11Info().display(), NET::WMMoveResize);
             rootInfo.moveResizeRequest(winId(), e->globalX(), e->globalY(), NET::Move);
-
 #endif
+            }
         } else {
+            m_vertResize = e->y() > height() - qMax(5, m_bottomBorderHeight);
+            m_rightResize = e->x() > width() - qMax(5, m_rightBorderWidth);
+            const bool leftResize = e->x() < qMax(5, m_leftBorderWidth);
+            m_lastPressPos = m_vertResize ? e->globalY() : e->globalX();
+
+            if (leftResize || m_rightResize || m_vertResize) {
+                // let's do a resize! :)
             grabMouse();
-            m_lastPressPos = e->globalX();
+                m_resizing = true;
         }
+        }
 
         e->accept();
     }
@@ -429,7 +438,7 @@
 
 void KRunnerDialog::mouseReleaseEvent(QMouseEvent *)
 {
-    if (!m_floating) {
+    if (m_lastPressPos != -1) {
         releaseMouse();
         unsetCursor();
         m_lastPressPos = -1;
@@ -469,11 +478,9 @@
 void KRunnerDialog::mouseMoveEvent(QMouseEvent *e)
 {
     //kDebug() << e->x() << m_leftBorderWidth << width() << m_rightBorderWidth;
-    if (m_floating) {
-        return;
-    }
-
-    if (m_lastPressPos != -1) {
+    if (m_lastPressPos == -1) {
+        checkCursor(e->pos());
+    } else {
         if (m_resizing) {
             if (m_vertResize) {
                 const int deltaY = e->globalY() - m_lastPressPos;
@@ -511,8 +518,6 @@
             move(newX, y());
             checkBorders(r);
         }
-    } else {
-        checkCursor(e->pos());
     }
 }
 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic