Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

YQPkgDiskUsageList.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       YQPkgDiskUsageList.h
00014 
00015   Author:     Stefan Hundhammer <sh@suse.de>
00016 
00017 /-*/
00018 
00019 // -*- c++ -*-
00020 
00021 
00022 #ifndef YQPkgDiskUsageList_h
00023 #define YQPkgDiskUsageList_h
00024 
00025 #include <QY2DiskUsageList.h>
00026 #include <y2pm/PkgDu.h>
00027 #include <qasciidict.h>
00028 
00029 class YQPkgDiskUsageListItem;
00030 typedef PkgDuMaster::MountPoint YQPkgDuData;
00031 
00032 
00033 
00057 class YQPkgWarningRangeNotifier
00058 {
00059 public:
00060 
00064     YQPkgWarningRangeNotifier();
00065 
00070     void enterRange();
00071 
00077     void enterProximity();
00078 
00082     void warningPostedNotify();
00083 
00088     bool inRange() const;
00089 
00095     bool needWarning() const;
00096 
00100     bool leavingProximity() const;
00101 
00105     void clear();
00106 
00111     void clearHistory();
00112 
00113 
00114 protected:
00115 
00116     bool        _inRange;
00117     bool        _isClose;
00118     bool        _hasBeenClose;
00119     bool        _warningPosted;
00120 };
00121 
00122 
00123 
00124 
00125 
00129 class YQPkgDiskUsageList : public QY2DiskUsageList
00130 {
00131     Q_OBJECT
00132 
00133 public:
00141     YQPkgDiskUsageList( QWidget * parent, int thresholdPercent = 0 );
00142 
00146     virtual ~YQPkgDiskUsageList() {}
00147 
00151     void fakeData();
00152 
00158     virtual QSize sizeHint() const;
00159 
00163     YQPkgWarningRangeNotifier runningOutWarning;
00164 
00168     YQPkgWarningRangeNotifier overflowWarning;
00169 
00170 
00171 public slots:
00172 
00176     void updateDiskUsage();
00177 
00182     void postPendingWarnings();
00183 
00184 
00185 protected:
00186 
00193     virtual void keyPressEvent( QKeyEvent * ev );
00194 
00195 
00196     // Data members
00197 
00198     QAsciiDict<YQPkgDiskUsageListItem>  _items;
00199     bool                                _debug;
00200 };
00201 
00202 
00203 
00204 class YQPkgDiskUsageListItem: public QY2DiskUsageListItem
00205 {
00206 public:
00207 
00212     YQPkgDiskUsageListItem( YQPkgDiskUsageList *        parent,
00213                             YQPkgDuData                 duData );
00214 
00218     virtual ~YQPkgDiskUsageListItem() {}
00219 
00223     YQPkgDuData duData() const { return _duData; }
00224 
00228     void updateDuData( const YQPkgDuData & fromData );
00229 
00235     virtual FSize usedSize() const;
00236 
00242     virtual FSize totalSize() const;
00243 
00249     virtual QString name() const;
00250 
00256     virtual QString deviceName() const { return ""; }
00257 
00263     void checkRemainingDiskSpace();
00264 
00265 
00266 protected:
00267 
00268     // Data members
00269 
00270     YQPkgDuData                 _duData;
00271     YQPkgDiskUsageList *        _pkgDiskUsageList;
00272 };
00273 
00274 
00275 
00276 #endif // ifndef YQPkgDiskUsageList_h

Generated on Wed Nov 12 06:11:15 2008 for yast2-qt by  doxygen 1.3.9.1