Panel tab enabling/disabling when logged in/out reviewed.
[situare] / src / ui / paneltab.cpp
index 0a81cb5..c3ce81f 100644 (file)
 #include <QPainter>
 #include <QRect>
 
+#include "panelcommon.h"
 #include "paneltab.h"
 
-const int TAB_WIDTH = 66;
-const int TAB_WIDTH_ACTIVE = 74;
 const int TAB_HEIGHT = 66;
+const int TAB_WIDTH_ACTIVE = PANEL_TAB_BAR_WIDTH;
 
 PanelTab::PanelTab(QWidget *parent)
     : QToolButton(parent),
@@ -37,11 +37,9 @@ PanelTab::PanelTab(QWidget *parent)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_tabPixmaps[0].load(":/res/images/tab_inactive.png");
-    m_tabPixmaps[1].load(":/res/images/tab_inactive2.png");
-    m_tabPixmaps[2].load(":/res/images/tab_active.png");
-
-//    m_tabRect.setRect(TAB_WIDTH_ACTIVE - TAB_WIDTH, 0, TAB_WIDTH, TAB_HEIGHT);
+    m_tabActiveImage.load(":/res/images/tab_active.png");
+    m_tabInactiveImage.load(":/res/images/tab_inactive.png");
+    m_tabInactiveImage2.load(":/res/images/tab_inactive2.png");
 
     setCheckable(true);
 
@@ -50,10 +48,10 @@ PanelTab::PanelTab(QWidget *parent)
 
 void PanelTab::mouseMoveEvent(QMouseEvent *event)
 {
-//    qDebug() << __PRETTY_FUNCTION__;
+    qDebug() << __PRETTY_FUNCTION__;
 
-    if(m_tabSelected) {
-        if(!rect().contains(event->pos()))
+    if (m_tabSelected) {
+        if (!rect().contains(event->pos()))
             setDown(false);
         else
             setDown(true);
@@ -62,9 +60,9 @@ void PanelTab::mouseMoveEvent(QMouseEvent *event)
 
 void PanelTab::mousePressEvent(QMouseEvent *event)
 {
-//    qDebug() << __PRETTY_FUNCTION__;
+    qDebug() << __PRETTY_FUNCTION__;
 
-    if(event->button() == Qt::LeftButton) {
+    if (event->button() == Qt::LeftButton) {
         setDown(true);
         m_tabSelected = true;
     }
@@ -72,59 +70,47 @@ void PanelTab::mousePressEvent(QMouseEvent *event)
 
 void PanelTab::mouseReleaseEvent(QMouseEvent *event)
 {
-//    qDebug() << __PRETTY_FUNCTION__;
-
-    if(this->rect().contains(event->pos())) {
-//        emit QAbstractButton::clicked();
-//        emit clicked();
-        click();
-
-//        if(m_tabActive) {
-        if(isChecked()) {
-//            m_tabActive = false;
-            setChecked(false);
-//            m_tabRect.setRect(TAB_WIDTH_ACTIVE - TAB_WIDTH, 0, TAB_WIDTH, TAB_HEIGHT);
-        } else {
-//            m_tabActive = true;
-            setChecked(true);
-//            m_tabRect.setRect(0, 0, TAB_WIDTH_ACTIVE, TAB_HEIGHT);
+    qDebug() << __PRETTY_FUNCTION__;
+
+    if (event->button() == Qt::LeftButton) {
+        if (rect().contains(event->pos())) {
+            click();
+
+            if (isChecked())
+                setChecked(false);
+            else
+                setChecked(true);
         }
-    }
 
-    setDown(false);
-    m_tabSelected = false;
+        setDown(false);
+        m_tabSelected = false;
+    }
 }
 
-void PanelTab::paintEvent(QPaintEvent *)
+void PanelTab::paintEvent(QPaintEvent *event)
 {
-//    qDebug() << __PRETTY_FUNCTION__;
+    qDebug() << __PRETTY_FUNCTION__;
+
+    Q_UNUSED(event);
+
+    const int TAB_WIDTH = 66;
+    const int TAB_RECT_X = 0;
+    const int TAB_RECT_Y = 0;
 
     QPainter painter(this);
 
-    if(isChecked()) {
-        m_tabRect.setRect(0, 0, TAB_WIDTH_ACTIVE, TAB_HEIGHT);
-        painter.drawPixmap(m_tabRect, m_tabPixmaps[2]);
+    if (isChecked()) {
+        m_tabRect.setRect(TAB_RECT_X, TAB_RECT_Y, TAB_WIDTH_ACTIVE, TAB_HEIGHT);
+        painter.drawPixmap(m_tabRect, m_tabActiveImage);
     } else {
-        m_tabRect.setRect(TAB_WIDTH_ACTIVE - TAB_WIDTH, 0, TAB_WIDTH, TAB_HEIGHT);
-        painter.drawPixmap(m_tabRect, m_tabPixmaps[0]);
+        m_tabRect.setRect(TAB_WIDTH_ACTIVE - TAB_WIDTH, TAB_RECT_Y, TAB_WIDTH, TAB_HEIGHT);
+        painter.drawPixmap(m_tabRect, m_tabInactiveImage);
     }
 
-    if(isDown())
+    if (isDown())
         icon().paint(&painter, m_tabRect, Qt::AlignCenter, QIcon::Selected);
-    else if(isChecked())
-        icon().paint(&painter, m_tabRect, Qt::AlignCenter, QIcon::Normal);
-    else
+    else if (!isEnabled())
         icon().paint(&painter, m_tabRect, Qt::AlignCenter, QIcon::Disabled);
-}
-
-void PanelTab::setActive(bool state)
-{
-    qDebug() << __PRETTY_FUNCTION__;
-
-    if(state)
-//        m_tabActive = true;
-        setChecked(true);
     else
-//        m_tabActive = false;
-        setChecked(false);
+        icon().paint(&painter, m_tabRect, Qt::AlignCenter, QIcon::Normal);
 }