***************************************************************************/
#include "statusbarmessagelabel.h"
+#include "kdenlivesettings.h"
#include <kcolorscheme.h>
#include <kiconloader.h>
#include <kicon.h>
#include <klocale.h>
+#include <KNotification>
#include <QFontMetrics>
#include <QPainter>
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();
MessageType type)
{
if ((text == m_text) && (type == m_type)) {
+ if (type == ErrorMessage) KNotification::event("ErrorMessage", m_text);
return;
}
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:
m_timer.start(100);
m_state = Illuminate;
m_closeButton->hide();
+ KNotification::event("ErrorMessage", m_text);
+ m_hidetimer.stop();
break;
case MltError:
m_state = Illuminate;
updateCloseButtonPosition();
m_closeButton->show();
+ m_hidetimer.stop();
break;
case DefaultMessage:
default:
m_closeButton->hide();
+ m_hidetimer.stop();
break;
}
m_pixmap = (iconName == 0) ? QPixmap() : SmallIcon(iconName);
- QTimer::singleShot(GeometryTimeout, this, SLOT(assureVisibleText()));
+
+ /*QFontMetrics fontMetrics(font());
+ setMaximumWidth(fontMetrics.boundingRect(m_text).width() + m_pixmap.width() + (BorderGap * 4));
+ updateGeometry();*/
+
+ //QTimer::singleShot(GeometryTimeout, this, SLOT(assureVisibleText()));
update();
}
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);
{
QWidget::resizeEvent(event);
updateCloseButtonPosition();
- QTimer::singleShot(GeometryTimeout, this, SLOT(assureVisibleText()));
+ //QTimer::singleShot(GeometryTimeout, this, SLOT(assureVisibleText()));
}
void StatusBarMessageLabel::timerDone()