]> git.sesse.net Git - kdenlive/commitdiff
Only show statusbar info messages for a few seconds, then clear the status bar
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 28 Jun 2010 16:10:36 +0000 (16:10 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 28 Jun 2010 16:10:36 +0000 (16:10 +0000)
svn path=/trunk/kdenlive/; revision=4550

src/statusbarmessagelabel.cpp
src/statusbarmessagelabel.h

index 8bddbd63ad23857091079d93fe94697488676439..5e65f2e4c5c2abd18174cd9a9efd9d96feafb3c3 100644 (file)
@@ -48,8 +48,10 @@ StatusBarMessageLabel::StatusBarMessageLabel(QWidget* parent) :
     QPalette palette;
     palette.setColor(QPalette::Background, Qt::transparent);
     setPalette(palette);
-
+    m_hidetimer.setSingleShot(true);
+    m_hidetimer.setInterval(5000);
     connect(&m_timer, SIGNAL(timeout()), this, SLOT(timerDone()));
+    connect(&m_hidetimer, SIGNAL(timeout()), this, SLOT(closeErrorMessage()));
 
     m_closeButton = new QPushButton(i18nc("@action:button", "Close"), this);
     m_closeButton->hide();
@@ -92,11 +94,13 @@ void StatusBarMessageLabel::setMessage(const QString& text,
         iconName = "dialog-ok";
         // "ok" icon should probably be "dialog-success", but we don't have that icon in KDE 4.0
         m_closeButton->hide();
+        m_hidetimer.stop();
         break;
 
     case InformationMessage:
         iconName = "dialog-information";
         m_closeButton->hide();
+        m_hidetimer.start();
         break;
 
     case ErrorMessage:
@@ -105,6 +109,7 @@ void StatusBarMessageLabel::setMessage(const QString& text,
         m_state = Illuminate;
         m_closeButton->hide();
         KNotification::event("ErrorMessage", m_text);
+        m_hidetimer.stop();
         break;
 
     case MltError:
@@ -113,11 +118,13 @@ void StatusBarMessageLabel::setMessage(const QString& text,
         m_state = Illuminate;
         updateCloseButtonPosition();
         m_closeButton->show();
+        m_hidetimer.stop();
         break;
 
     case DefaultMessage:
     default:
         m_closeButton->hide();
+        m_hidetimer.stop();
         break;
     }
 
index 5f3cc8a43aa594734618e627348bac72e8809119..a0f491df6994f8e7d912f02455713b9d116a46f3 100644 (file)
@@ -125,6 +125,7 @@ private:
     int m_illumination;
     int m_minTextHeight;
     QTimer m_timer;
+    QTimer m_hidetimer;
     QString m_text;
     QList<QString> m_pendingMessages;
     QPixmap m_pixmap;