* 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 *
***************************************************************************/
#ifndef STATUSBARSPACEINFO_H
#define STATUSBARSPACEINFO_H
-#include <qwidget.h>
-#include <qstring.h>
-//Added by qt3to4:
-#include <QPaintEvent>
#include <kurl.h>
-#include <qcolor.h>
+
+#include <QColor>
+#include <QKeyEvent>
+#include <QString>
+
+#include <kcapacitybar.h>
class KDiskFreeSp;
+class QHideEvent;
+class QShowEvent;
/**
- * @short Shows the available space for the current volume as part
- * of the status bar.
+ * @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
public:
- StatusBarSpaceInfo(QWidget* parent);
+ explicit StatusBarSpaceInfo(QWidget* parent);
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 slotDone();
-
- /** 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;
-
+ 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