0.7.1
[fapman] / dimmer.h
1 /*
2         This file is part of Faster Application Manager.
3
4         Faster Application Manager is free software: you can redistribute it and/or modify
5         it under the terms of the GNU General Public License as published by
6         the Free Software Foundation, either version 3 of the License, or
7         (at your option) any later version.
8
9         Faster Application Manager is distributed in the hope that it will be useful,
10         but WITHOUT ANY WARRANTY; without even the implied warranty of
11         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12         GNU General Public License for more details.
13
14         You should have received a copy of the GNU General Public License
15         along with Faster Application Manager.  If not, see <http://www.gnu.org/licenses/>.
16
17         (C) Heikki Holstila 2010
18 */
19
20 #ifndef DIMMER_H
21 #define DIMMER_H
22
23 #include <QtGui>
24
25 class dimmer : public QWidget
26 {
27     Q_OBJECT
28 public:
29         explicit dimmer(QWidget *parent);
30         virtual ~dimmer();
31
32         void paintEvent(QPaintEvent *);
33         void resizeEvent(QResizeEvent* event);
34
35         void dim(QString title, QString message);
36         void undim();
37         bool busy() { return iBusy; }
38         void updateText(QString message);
39         void setProgress(int p_);
40         void setDownloadSpeed(int kbps_);
41         int progress() { return iProgress; }
42
43 private:
44         dimmer(const dimmer& old);
45         dimmer operator= (const dimmer& old);
46
47         int iAlpha;
48         QWidget* iParent;
49         QBoxLayout* iLayout;
50         QLabel* iLabel;
51         bool iBusy;
52         QTimer* iTimer;
53         QString iTitle;
54
55         int iAnim;
56         int iAnimDir;
57         int iAnimY;
58         bool iUpdateAnim;
59
60         int iProgress;
61         int iDownloadSpeed;
62
63 public slots:
64         void orientationChanged();
65
66 private slots:
67         void timerEvent();
68
69 };
70
71 #endif // DIMMER_H