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

View file

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