]> cloud.milkyroute.net Git - dolphin.git/commitdiff
layout cleanups for the statusbar
authorPeter Penz <peter.penz19@gmail.com>
Tue, 16 Oct 2007 21:09:57 +0000 (21:09 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Tue, 16 Oct 2007 21:09:57 +0000 (21:09 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=726013

src/dolphinstatusbar.cpp
src/statusbarmessagelabel.cpp
src/statusbarmessagelabel.h

index 9a2ccb0409b1f90eb51d7696861d6449545602ca..df67ac28f5fef43339b8a7993c1a0971f7f0d8e2 100644 (file)
@@ -51,18 +51,20 @@ DolphinStatusBar::DolphinStatusBar(QWidget* parent, const KUrl& url) :
     m_progressBar = new QProgressBar(this);
     m_progressBar->hide();
 
-    const QSize size(m_progressBar->sizeHint());
-    const int barHeight = size.height();
+    const int contentHeight = QFontMetrics(m_messageLabel->font()).height();
+    const int barHeight = contentHeight + 8;
 
-    m_progressBar->setMaximumWidth(200);
     setMinimumHeight(barHeight);
     m_messageLabel->setMinimumTextHeight(barHeight);
-    m_spaceInfo->setFixedHeight(barHeight);
+    m_spaceInfo->setFixedHeight(contentHeight);
+    m_progressBar->setFixedHeight(contentHeight);
+    m_progressBar->setMaximumWidth(200);
 }
 
 
 DolphinStatusBar::~DolphinStatusBar()
-{}
+{
+}
 
 void DolphinStatusBar::setMessage(const QString& msg,
                                   Type type)
index a32d259fc69f62d8e5302d93b5697c464383cdf7..d734a5e0c0db09530020f0b8f9ca36b744fb1c04 100644 (file)
@@ -59,7 +59,8 @@ StatusBarMessageLabel::StatusBarMessageLabel(QWidget* parent) :
 }
 
 StatusBarMessageLabel::~StatusBarMessageLabel()
-{}
+{
+}
 
 void StatusBarMessageLabel::setMessage(const QString& text,
                                        DolphinStatusBar::Type type)
@@ -122,7 +123,9 @@ void StatusBarMessageLabel::setMinimumTextHeight(int min)
     if (min != m_minTextHeight) {
         m_minTextHeight = min;
         setMinimumHeight(min);
-        m_closeButton->setFixedHeight(min - borderGap() * 2);
+        if (m_closeButton->height() > min) {
+            m_closeButton->setFixedHeight(min);
+        }
     }
 }
 
@@ -152,12 +155,12 @@ void StatusBarMessageLabel::paintEvent(QPaintEvent* /* event */)
     painter.drawRect(QRect(0, 0, width(), height()));
 
     // draw pixmap
-    int x = borderGap();
+    int x = BorderGap;
     int y = (m_minTextHeight - m_pixmap.height()) / 2;
 
     if (!m_pixmap.isNull()) {
         painter.drawPixmap(x, y, m_pixmap);
-        x += m_pixmap.width() + borderGap();
+        x += m_pixmap.width() + BorderGap;
     }
 
     // draw text
@@ -265,14 +268,14 @@ void StatusBarMessageLabel::assureVisibleText()
 int StatusBarMessageLabel::availableTextWidth() const
 {
     const int buttonWidth = (m_type == DolphinStatusBar::Error) ?
-                            m_closeButton->width() + borderGap() : 0;
-    return width() - m_pixmap.width() - (borderGap() * 4) - buttonWidth;
+                            m_closeButton->width() + BorderGap : 0;
+    return width() - m_pixmap.width() - (BorderGap * 4) - buttonWidth;
 }
 
 void StatusBarMessageLabel::updateCloseButtonPosition()
 {
-    const int x = width() - m_closeButton->width() - borderGap();
-    const int y = height() - m_closeButton->height() - borderGap();
+    const int x = width() - m_closeButton->width() - BorderGap;
+    const int y = (height() - m_closeButton->height()) / 2;
     m_closeButton->move(x, y);
 }
 
index 0eacad9714f0a4002e2538c69f2bd07091ae4c1f..264a3538de657f8a7e6b48db77778e7365d671b7 100644 (file)
@@ -125,10 +125,8 @@ private:
         Desaturate
     };
 
-    enum
-    {
-        GeometryTimeout = 100
-    };
+    enum { GeometryTimeout = 100 };
+    enum { BorderGap = 2 };
 
     DolphinStatusBar::Type m_type;
     State m_state;
@@ -140,11 +138,6 @@ private:
     QList<QString> m_pendingMessages;
     QPixmap m_pixmap;
     QPushButton* m_closeButton;
-
-    int borderGap() const
-    {
-        return 2;
-    }
 };
 
 inline DolphinStatusBar::Type StatusBarMessageLabel::type() const