The space info widget now inherits KCapacityBar. Two things to check:

- Align vertically the text correctly
- Minimum width of the widget (not forcing it to 200)

CCMAIL: peter.penz@gmx.at

svn path=/trunk/KDE/kdebase/apps/; revision=834445
This commit is contained in:
Rafael Fernández López 2008-07-18 22:22:33 +00:00
parent 08989d295c
commit dc4827579d
2 changed files with 12 additions and 26 deletions

View file

@ -29,15 +29,12 @@
#include <QKeyEvent> #include <QKeyEvent>
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) : StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
QProgressBar(parent), KCapacityBar(KCapacityBar::DrawTextInline, parent),
m_gettingSize(false), m_gettingSize(false),
m_foundMountPoint(false), m_foundMountPoint(false)
m_text()
{ {
setMinimum(0);
setMaximum(0);
setMaximumWidth(200); setMaximumWidth(200);
setMinimumWidth(200); // something to fix on kcapacitybar (ereslibre)
// Update the space information each 10 seconds. Polling is useful // Update the space information each 10 seconds. Polling is useful
// here, as files can be deleted/added outside the scope of Dolphin. // here, as files can be deleted/added outside the scope of Dolphin.
@ -56,11 +53,6 @@ void StatusBarSpaceInfo::setUrl(const KUrl& url)
refresh(); refresh();
} }
QString StatusBarSpaceInfo::text() const
{
return m_text;
}
void StatusBarSpaceInfo::slotFoundMountPoint(const QString& mountPoint, void StatusBarSpaceInfo::slotFoundMountPoint(const QString& mountPoint,
quint64 kBSize, quint64 kBSize,
quint64 kBUsed, quint64 kBUsed,
@ -70,13 +62,11 @@ void StatusBarSpaceInfo::slotFoundMountPoint(const QString& mountPoint,
m_gettingSize = false; m_gettingSize = false;
m_foundMountPoint = true; m_foundMountPoint = true;
const bool valuesChanged = (kBUsed != static_cast<quint64>(value())) || const bool valuesChanged = (kBUsed != static_cast<quint64>(value()));
(kBSize != static_cast<quint64>(maximum()));
if (valuesChanged) { if (valuesChanged) {
m_text = i18nc("@info:status Free disk space", "%1 free", KIO::convertSize(kBAvailable * 1024)); setText(i18nc("@info:status Free disk space", "%1 free", KIO::convertSize(kBAvailable * 1024)));
setUpdatesEnabled(false); setUpdatesEnabled(false);
setMaximum(kBSize); setValue((kBUsed * 100) / kBSize);
setValue(kBUsed);
setUpdatesEnabled(true); setUpdatesEnabled(true);
update(); update();
} }
@ -89,7 +79,7 @@ void StatusBarSpaceInfo::slotDiskFreeSpaceDone()
} }
m_gettingSize = false; m_gettingSize = false;
m_text = i18nc("@info:status", "Unknown size"); setText(i18nc("@info:status", "Unknown size"));
setValue(0); setValue(0);
update(); update();
} }
@ -98,7 +88,7 @@ void StatusBarSpaceInfo::refresh()
{ {
// KDiskFreeSpace is for local paths only // KDiskFreeSpace is for local paths only
if (!m_url.isLocalFile()) { if (!m_url.isLocalFile()) {
m_text = i18nc("@info:status", "Unknown size"); setText(i18nc("@info:status", "Unknown size"));
setValue(0); setValue(0);
update(); update();
return; return;
@ -134,8 +124,7 @@ void StatusBarSpaceInfo::refresh()
void StatusBarSpaceInfo::showGettingSizeInfo() void StatusBarSpaceInfo::showGettingSizeInfo()
{ {
if (m_gettingSize) { if (m_gettingSize) {
m_text = i18nc("@info:status", "Getting size..."); setText(i18nc("@info:status", "Getting size..."));
setMaximum(0);
update(); update();
} }
} }

View file

@ -24,16 +24,17 @@
#include <QColor> #include <QColor>
#include <QKeyEvent> #include <QKeyEvent>
#include <QProgressBar>
#include <QString> #include <QString>
#include <kcapacitybar.h>
class KDiskFreeSp; class KDiskFreeSp;
/** /**
* @short Shows the available space for the volume represented * @short Shows the available space for the volume represented
* by the given URL as part of the status bar. * by the given URL as part of the status bar.
*/ */
class StatusBarSpaceInfo : public QProgressBar class StatusBarSpaceInfo : public KCapacityBar
{ {
Q_OBJECT Q_OBJECT
@ -44,9 +45,6 @@ public:
void setUrl(const KUrl& url); void setUrl(const KUrl& url);
const KUrl& url() const; const KUrl& url() const;
/** @see QProgressBar::text() */
virtual QString text() const;
private slots: private slots:
void slotFoundMountPoint(const QString& mountPoint, void slotFoundMountPoint(const QString& mountPoint,
quint64 kBSize, quint64 kBSize,
@ -64,7 +62,6 @@ private:
bool m_gettingSize; bool m_gettingSize;
bool m_foundMountPoint; bool m_foundMountPoint;
KUrl m_url; KUrl m_url;
QString m_text;
}; };
inline const KUrl& StatusBarSpaceInfo::url() const inline const KUrl& StatusBarSpaceInfo::url() const