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()
*/
void resetButtons();
+protected:
+ void mouseMoveEvent(QMouseEvent *event);
+ void mousePressEvent(QMouseEvent *event);
+ void mouseReleaseEvent(QMouseEvent *event);
+
+private:
+ QPoint dragPosition;
+
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/