From 52478842e320536ce77eb1a13c235b2d5f98927f Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 1 Aug 2009 20:30:23 +0000 Subject: Assure that non-default messages don't get hidden after a very short time by default messages. svn path=/trunk/KDE/kdebase/apps/; revision=1005712 --- src/statusbar/dolphinstatusbar.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/statusbar/dolphinstatusbar.cpp') diff --git a/src/statusbar/dolphinstatusbar.cpp b/src/statusbar/dolphinstatusbar.cpp index aaa302a15..fe42011d3 100644 --- a/src/statusbar/dolphinstatusbar.cpp +++ b/src/statusbar/dolphinstatusbar.cpp @@ -48,7 +48,8 @@ DolphinStatusBar::DolphinStatusBar(QWidget* parent, DolphinView* view) : m_zoomSlider(0), m_zoomIn(0), m_progressBar(0), - m_progress(100) + m_progress(100), + m_messageTimeStamp() { setMargin(0); setSpacing(4); @@ -135,7 +136,21 @@ void DolphinStatusBar::setMessage(const QString& msg, return; } + const QTime currentTime = QTime::currentTime(); + const bool skipMessage = (type == Default) && + m_messageTimeStamp.isValid() && + (m_messageTimeStamp.msecsTo(currentTime) < 1000); + if (skipMessage) { + // A non-default message is shown just for a very short time. Don't hide + // the message by a default message, so that the user gets the chance to + // read the information. + return; + } + m_messageLabel->setMessage(msg, type); + if (type != Default) { + m_messageTimeStamp = currentTime; + } const int widthGap = m_messageLabel->widthGap(); if (widthGap > 0) { -- cgit v1.3