Merged with latest master
authorKaj Wallin <kaj.wallin@ixonos.com>
Fri, 21 May 2010 12:58:08 +0000 (15:58 +0300)
committerKaj Wallin <kaj.wallin@ixonos.com>
Fri, 21 May 2010 12:58:08 +0000 (15:58 +0300)
Reviewed by:

.gitignore
src/ui/zoombuttonpanel.cpp
src/ui/zoombuttonpanel.h

index 1874bce..8294240 100644 (file)
@@ -19,3 +19,4 @@ mainwindow_test
 qrc_images.cpp
 build-stamp
 debian/situare.substvars
+debian/files
index 94d04c0..ddc7c97 100644 (file)
@@ -47,6 +47,42 @@ ZoomButtonPanel::ZoomButtonPanel(QWidget *parent, int x, int y)
     m_panelLayout.addWidget(m_zoomOutButton, 1, 0);
 
     move(m_x, m_y);
+
+    QPalette pal = palette();
+    pal.setColor(QPalette::Background, QColor(0, 0, 0, 128));
+    setPalette(pal);
+}
+
+// BUG: long mouse press before dragging causes panel to not be centered
+// on the cursor. Cause: Long press does not appear to be mousePressEvent o_O
+void ZoomButtonPanel::mousePressEvent(QMouseEvent *event)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+    if (event->button() == Qt::LeftButton) {
+
+        dragPosition = event->pos();
+        qWarning() << "EvPos:" << event->pos().x() << event->pos().y() << "DP:" << dragPosition.x() << dragPosition.y();
+        event->accept();
+    }
+}
+
+void ZoomButtonPanel::mouseMoveEvent(QMouseEvent *event)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+    if (event->buttons() & Qt::LeftButton) {
+        move(mapToParent(event->pos()) - dragPosition);
+//        move(event->pos() - dragPosition);
+        qWarning() << "EvPos2:" << event->pos().x() << event->pos().y();
+        setAutoFillBackground(true);
+        event->accept();
+    }
+}
+
+void ZoomButtonPanel::mouseReleaseEvent(QMouseEvent *event)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+    setAutoFillBackground(false);
+    event->accept();
 }
 
 void ZoomButtonPanel::disableZoomInButton()
index 0349676..56a2951 100644 (file)
@@ -67,6 +67,14 @@ public slots:
      */
     void resetButtons();
 
+protected:
+    void mouseMoveEvent(QMouseEvent *event);
+    void mousePressEvent(QMouseEvent *event);
+    void mouseReleaseEvent(QMouseEvent *event);
+
+private:
+    QPoint dragPosition;
+
 /*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/