]> git.sesse.net Git - kdenlive/blobdiff - src/statusbarmessagelabel.cpp
Video not needed when creating audio thumbs
[kdenlive] / src / statusbarmessagelabel.cpp
index 8bddbd63ad23857091079d93fe94697488676439..42eef766691fb9ad5cc08f75b4a83faa8bc2c0c1 100644 (file)
@@ -21,6 +21,7 @@
  ***************************************************************************/
 
 #include "statusbarmessagelabel.h"
+#include "kdenlivesettings.h"
 
 #include <kcolorscheme.h>
 #include <kiconloader.h>
@@ -44,12 +45,13 @@ StatusBarMessageLabel::StatusBarMessageLabel(QWidget* parent) :
         m_closeButton(0)
 {
     setMinimumHeight(KIconLoader::SizeSmall);
-
     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;
     }
 
@@ -150,8 +157,7 @@ void StatusBarMessageLabel::paintEvent(QPaintEvent* /* event */)
     QColor backgroundColor;
     if (m_state == Default || m_illumination < 0) backgroundColor = palette().window().color();
     else {
-        KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window);
-        backgroundColor = scheme.background(KColorScheme::NegativeBackground).color();
+        backgroundColor = KStatefulBrush(KColorScheme::Window, KColorScheme::NegativeBackground, KSharedConfig::openConfig(KdenliveSettings::colortheme())).brush(this).color();
     }
     if (m_state == Desaturate && m_illumination > 0) {
         backgroundColor.setAlpha(m_illumination * 2);