Added a new method "setMode" to ImageButton class
authorPekka Nissinen <pekka.nissinen@ixonos.com>
Thu, 13 May 2010 20:44:41 +0000 (23:44 +0300)
committerPekka Nissinen <pekka.nissinen@ixonos.com>
Thu, 13 May 2010 20:44:41 +0000 (23:44 +0300)
src/ui/imagebutton.cpp
src/ui/imagebutton.h

index 41f2c13..4edd5ac 100644 (file)
@@ -50,20 +50,22 @@ void ImageButton::mousePressEvent(QMouseEvent *event)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    QAbstractButton::mousePressEvent(event);
-
-    m_buttonMode = QIcon::Selected;
-    update();
+    if(m_buttonMode != QIcon::Disabled) {
+        QAbstractButton::mousePressEvent(event);
+        m_buttonMode = QIcon::Selected;
+        update();
+    }
 }
 
 void ImageButton::mouseReleaseEvent(QMouseEvent *event)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    QAbstractButton::mouseReleaseEvent(event);
-
-    m_buttonMode = QIcon::Normal;
-    update();
+    if(m_buttonMode != QIcon::Disabled) {
+        QAbstractButton::mouseReleaseEvent(event);
+        m_buttonMode = QIcon::Normal;
+        update();
+    }
 }
 
 void ImageButton::paintEvent(QPaintEvent *event)
@@ -81,3 +83,11 @@ void ImageButton::paintEvent(QPaintEvent *event)
 
     icon().paint(&painter, this->rect(), NULL, m_buttonMode);
 }
+
+void ImageButton::setMode(QIcon::Mode mode)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    m_buttonMode = mode;
+    update();
+}
index c024503..a6bb9cb 100644 (file)
@@ -76,6 +76,12 @@ protected:
     void paintEvent(QPaintEvent *event);
 
 /*******************************************************************************
+ * MEMBER FUNCTIONS AND SLOTS
+ ******************************************************************************/
+public:
+    void setMode(QIcon::Mode mode);
+
+/*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/
 private: