]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/statusbarspaceinfo.cpp
Added Rafael López's item categorizer into Dolphin (it's currently deactivated in...
[dolphin.git] / src / statusbarspaceinfo.cpp
index 3c6073ca5cc155c6c2d52565fcedd3bfd7039475..a21f22c321be4dbb3dde1622807bf458effbea6b 100644 (file)
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
 #include "statusbarspaceinfo.h"
 
-#include <qpainter.h>
-#include <qtimer.h>
-//Added by qt3to4:
+#include <QPainter>
 #include <QPaintEvent>
+#include <QTimer>
+
 #include <kglobalsettings.h>
 #include <kdiskfreesp.h>
 #include <klocale.h>
 #include <kio/job.h>
 
 StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
-    QWidget(parent),
-    m_gettingSize(false),
-    m_kBSize(0),
-    m_kBAvailable(0)
+        QWidget(parent),
+        m_gettingSize(false),
+        m_kBSize(0),
+        m_kBAvailable(0)
 {
     setMinimumWidth(200);
 
@@ -45,28 +45,27 @@ StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
 }
 
 StatusBarSpaceInfo::~StatusBarSpaceInfo()
-{
-}
+{}
 
 void StatusBarSpaceInfo::setUrl(const KUrl& url)
 {
     m_url = url;
     refresh();
-    update();
+    QTimer::singleShot(300, this, SLOT(update()));
 }
 
 void StatusBarSpaceInfo::paintEvent(QPaintEvent* /* event */)
 {
     QPainter painter(this);
     const int barWidth = width();
-    const int barTop = 2;
-    const int barHeight = height() - 4;
+    const int barTop = 1;
+    const int barHeight = height() - 5;
 
     QString text;
 
     const int widthDec = 3;  // visual decrement for the available width
 
-    const QColor c1 = colorGroup().background();
+    const QColor c1 = palette().brush(QPalette::Background).color();
     const QColor c2 = KGlobalSettings::buttonTextColor();
     const QColor frameColor((c1.red()   + c2.red())   / 2,
                             (c1.green() + c2.green()) / 2,
@@ -83,40 +82,36 @@ void StatusBarSpaceInfo::paintEvent(QPaintEvent* /* event */)
         painter.setPen(Qt::NoPen);
         painter.setBrush(progressColor(backgrColor));
         int usedWidth = barWidth - static_cast<int>((m_kBAvailable *
-                                                    static_cast<float>(barWidth)) / m_kBSize);
+                        static_cast<float>(barWidth)) / m_kBSize);
         const int left = 1;
-        int right = usedWidth - (widthDec + 1);
+        int right = usedWidth - widthDec;
         if (right < left) {
             right = left;
         }
-        painter.drawRect(QRect(left, barTop + 2, right, barHeight - 2));
+        painter.drawRect(QRect(left, barTop + 2, right, barHeight - 1));
 
-        text = i18n("%1% of %2 used")
-               .arg( 100 - (int)(100.0 * m_kBAvailable / m_kBSize))
-               .arg(KIO::convertSizeFromKiB(m_kBSize));
-    }
-    else {
+        text = i18n("%1% of %2 used", 100 - (int)(100.0 * m_kBAvailable / m_kBSize), KIO::convertSizeFromKiB(m_kBSize));
+    } else {
         if (m_gettingSize) {
             text = i18n("Getting size...");
-        }
-        else {
-            text = "";
+        } else {
+            text = QString();
             QTimer::singleShot(0, this, SLOT(hide()));
         }
     }
 
     // draw text (usually 'X% of Y GB used')
     painter.setPen(KGlobalSettings::textColor());
-    painter.drawText(QRect(1, 1, barWidth - 2, barHeight + 4),
-                     Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextWordWrap,
+    painter.drawText(QRect(1, 1, barWidth - 2, barHeight + 6),
+                     Qt::AlignCenter | Qt::TextWordWrap,
                      text);
 }
 
 
 void StatusBarSpaceInfo::slotFoundMountPoint(const unsigned long& kBSize,
-                                             const unsigned long& /* kBUsed */,
-                                             const unsigned long& kBAvailable,
-                                             const QString& /* mountPoint */)
+        const unsigned long& /* kBUsed */,
+        const unsigned long& kBAvailable,
+        const QString& /* mountPoint */)
 {
     m_gettingSize = false;
     m_kBSize = kBSize;
@@ -134,13 +129,9 @@ void StatusBarSpaceInfo::slotFoundMountPoint(const unsigned long& kBSize,
     update();
 }
 
-void StatusBarSpaceInfo::slotDone()
+void StatusBarSpaceInfo::showResult()
 {
     m_gettingSize = false;
-    if ((m_kBSize > 0) && (m_kBAvailable > 0)) {
-       show();
-    }
-
     update();
 }
 
@@ -156,13 +147,13 @@ void StatusBarSpaceInfo::refresh()
     connect(job, SIGNAL(foundMountPoint(const unsigned long&,
                                         const unsigned long&,
                                         const unsigned long&,
-                                        const QString& )),
+                                        const QString&)),
             this, SLOT(slotFoundMountPoint(const unsigned long&,
                                            const unsigned long&,
                                            const unsigned long&,
-                                           const QString& )));
+                                           const QString&)));
     connect(job, SIGNAL(done()),
-            this, SLOT(slotDone()));
+            this, SLOT(showResult()));
 
     job->readDF(mountPoint);
 }