libyui-qt-pkg
YQPkgDiskUsageList.h
1 /**************************************************************************
2 Copyright (C) 2000 - 2010 Novell, Inc.
3 All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 
19 **************************************************************************/
20 
21 
22 /*---------------------------------------------------------------------\
23 | |
24 | __ __ ____ _____ ____ |
25 | \ \ / /_ _/ ___|_ _|___ \ |
26 | \ V / _` \___ \ | | __) | |
27 | | | (_| |___) || | / __/ |
28 | |_|\__,_|____/ |_| |_____| |
29 | |
30 | core system |
31 | (C) SuSE GmbH |
32 \----------------------------------------------------------------------/
33 
34  File: YQPkgDiskUsageList.h
35 
36  Author: Stefan Hundhammer <shundhammer.de>
37 
38 /-*/
39 
40 
41 #ifndef YQPkgDiskUsageList_h
42 #define YQPkgDiskUsageList_h
43 
44 #include <zypp/DiskUsageCounter.h>
45 #include <yui/qt/QY2DiskUsageList.h>
46 #include <QKeyEvent>
47 #include <QMap>
48 #include <QByteArray>
49 
50 typedef zypp::DiskUsageCounter::MountPoint ZyppPartitionDu;
52 
53 
78 {
79 public:
80 
85 
90  void enterRange();
91 
97  void enterProximity();
98 
102  void warningPostedNotify();
103 
108  bool inRange() const;
109 
115  bool needWarning() const;
116 
120  bool leavingProximity() const;
121 
125  void clear();
126 
131  void clearHistory();
132 
133 
134 protected:
135 
136  bool _inRange;
137  bool _isClose;
138  bool _hasBeenClose;
139  bool _warningPosted;
140 };
141 
142 
143 
144 
145 
149 class YQPkgDiskUsageList : public QY2DiskUsageList
150 {
151  Q_OBJECT
152 
153 public:
161  YQPkgDiskUsageList( QWidget * parent, int thresholdPercent = 0 );
162 
166  virtual ~YQPkgDiskUsageList() {}
167 
173  virtual QSize sizeHint() const;
174 
179 
184 
185 
186 public slots:
187 
191  void updateDiskUsage();
192 
197  void postPendingWarnings();
198 
199 
200 protected:
201 
208  virtual void keyPressEvent( QKeyEvent * ev );
209 
210 
211  // Data members
212 
213  QMap<QString, YQPkgDiskUsageListItem*> _items;
214  bool _debug;
215 };
216 
217 
218 
219 class YQPkgDiskUsageListItem: public QY2DiskUsageListItem
220 {
221 public:
222 
228  const ZyppPartitionDu & partitionDu );
229 
234 
238  ZyppPartitionDu partitionDu() const { return _partitionDu; }
239 
243  void updateDuData( const ZyppPartitionDu & fromData );
244 
250  virtual FSize usedSize() const;
251 
257  virtual FSize totalSize() const;
258 
264  virtual QString name() const;
265 
271  virtual QString deviceName() const { return ""; }
272 
279 
280 
281 protected:
282 
283  // Data members
284 
285  ZyppPartitionDu _partitionDu;
286  YQPkgDiskUsageList * _pkgDiskUsageList;
287 };
288 
289 
290 
291 #endif // ifndef YQPkgDiskUsageList_h
YQPkgWarningRangeNotifier overflowWarning
Definition: YQPkgDiskUsageList.h:183
YQPkgDiskUsageListItem(YQPkgDiskUsageList *parent, const ZyppPartitionDu &partitionDu)
Definition: YQPkgDiskUsageList.cc:285
YQPkgDiskUsageList(QWidget *parent, int thresholdPercent=0)
Definition: YQPkgDiskUsageList.cc:87
void postPendingWarnings()
Definition: YQPkgDiskUsageList.cc:155
void checkRemainingDiskSpace()
Definition: YQPkgDiskUsageList.cc:328
bool leavingProximity() const
Definition: YQPkgDiskUsageList.cc:422
virtual void keyPressEvent(QKeyEvent *ev)
Definition: YQPkgDiskUsageList.cc:204
virtual QSize sizeHint() const
Definition: YQPkgDiskUsageList.cc:182
void updateDiskUsage()
Definition: YQPkgDiskUsageList.cc:129
bool needWarning() const
Definition: YQPkgDiskUsageList.cc:429
virtual QString name() const
Definition: YQPkgDiskUsageList.cc:312
virtual FSize totalSize() const
Definition: YQPkgDiskUsageList.cc:304
bool inRange() const
Definition: YQPkgDiskUsageList.cc:415
void enterProximity()
Definition: YQPkgDiskUsageList.cc:400
YQPkgWarningRangeNotifier()
Definition: YQPkgDiskUsageList.cc:367
virtual QString deviceName() const
Definition: YQPkgDiskUsageList.h:271
Definition: YQPkgDiskUsageList.h:219
virtual ~YQPkgDiskUsageList()
Definition: YQPkgDiskUsageList.h:166
void clear()
Definition: YQPkgDiskUsageList.cc:374
YQPkgWarningRangeNotifier runningOutWarning
Definition: YQPkgDiskUsageList.h:178
void enterRange()
Definition: YQPkgDiskUsageList.cc:392
void clearHistory()
Definition: YQPkgDiskUsageList.cc:383
virtual FSize usedSize() const
Definition: YQPkgDiskUsageList.cc:296
ZyppPartitionDu partitionDu() const
Definition: YQPkgDiskUsageList.h:238
void warningPostedNotify()
Definition: YQPkgDiskUsageList.cc:408
virtual ~YQPkgDiskUsageListItem()
Definition: YQPkgDiskUsageList.h:233
Definition: YQPkgDiskUsageList.h:77
List of disk usage of all attached partitions.
Definition: YQPkgDiskUsageList.h:149
void updateDuData(const ZyppPartitionDu &fromData)
Definition: YQPkgDiskUsageList.cc:319