new style for the progressbars, display more info
[case] / src / progressbar.h
1 // case - file manager for N900
2 // Copyright (C) 2010 Lukas Hrazky <lukkash@email.cz>
3 // 
4 // This program 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 // This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
16
17
18 #ifndef PROGRESSBAR_H
19 #define PROGRESSBAR_H
20
21 #include <QProgressBar>
22 #include <QIcon>
23
24
25 class FileManipulatorThread;
26
27 class ProgressBar : public QProgressBar {
28     Q_OBJECT;
29
30 signals:
31     void abortOperation(FileManipulatorThread*);
32     void togglePauseOperation(FileManipulatorThread*);
33
34 public:
35     explicit ProgressBar(FileManipulatorThread *thread, QWidget *parent = 0);
36
37     void setIcons(const QPixmap &icon, const QPixmap &inverseIcon);
38
39     QString mainText, fromText, toText;
40     QPixmap bgIcon, fgIcon;
41     bool paused;
42
43
44 protected:
45     void mouseReleaseEvent(QMouseEvent *);
46     void contextMenuEvent(QContextMenuEvent *);
47
48     bool contextEvent;
49     FileManipulatorThread *thread;
50 };
51
52 #endif // PROGRESSBAR_H