#define STATUSBARSPACEINFO_H
#include <kurl.h>
-#include <qcolor.h>
-#include <QPaintEvent>
-#include <QWidget>
+#include <QColor>
+#include <QKeyEvent>
+#include <QString>
+
+#include <kcapacitybar.h>
class KDiskFreeSp;
-class QTimer;
+class QHideEvent;
+class QShowEvent;
/**
* @short Shows the available space for the volume represented
* by the given URL as part of the status bar.
*/
-class StatusBarSpaceInfo : public QWidget
+class StatusBarSpaceInfo : public KCapacityBar
{
Q_OBJECT
virtual ~StatusBarSpaceInfo();
void setUrl(const KUrl& url);
- const KUrl& url() const { return m_url; }
+ const KUrl& url() const;
protected:
- /** @see QWidget::paintEvent() */
- virtual void paintEvent(QPaintEvent* event);
+ void showEvent(QShowEvent* event);
+ void hideEvent(QHideEvent* event);
private slots:
- /**
- * The strange signature of this method is due to a compiler
- * bug (?). More details are given inside the class KDiskFreeSp (see
- * KDE Libs documentation).
- */
- void slotFoundMountPoint(const unsigned long& kBSize,
- const unsigned long& kBUsed,
- const unsigned long& kBAvailable,
- const QString& mountPoint);
- void showResult();
-
- /** Refreshs the space information for the current set Url. */
+ /** Refreshes the space information for the current set URL. */
void refresh();
private:
- /**
- * Returns a color for the progress bar by respecting
- * the given background color \a bgColor. It is assured
- * that enough contrast is given to have a visual indication.
- */
- QColor progressColor(const QColor& bgColor) const;
-
-private:
+ quint64 m_kBSize;
KUrl m_url;
- bool m_gettingSize;
- unsigned long m_kBSize;
- unsigned long m_kBAvailable;
+ QTimer* m_timer;
};
+inline const KUrl& StatusBarSpaceInfo::url() const
+{
+ return m_url;
+}
+
#endif