progressBox.h 1.77 KB
Newer Older
1 2
/***********************************************************************
* Copyright 2003-2004  Max Howell <max.howell@methylblue.com>
3
* Copyright 2008-2009  Martin Sandsmark <martin.sandsmark@kde.org>
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
***********************************************************************/

#ifndef PROGRESSBOX_H
#define PROGRESSBOX_H

25
#include <QTimer>
26
#include <KColorScheme>
Laurent Montel's avatar
Laurent Montel committed
27
#include <QWidget>
28

29 30
namespace Filelight {
class ScanManager;
Harald Sitter's avatar
Harald Sitter committed
31
class MainWindow;
32
}
33

34
class ProgressBox : public QWidget
35
{
36
    Q_OBJECT
37 38

public:
Harald Sitter's avatar
Harald Sitter committed
39
    ProgressBox(QWidget *parent, Filelight::MainWindow *mainWindow, Filelight::ScanManager *scanManager);
40

41
    void setText(int files, size_t totalSize);
42

43
public Q_SLOTS:
44 45 46 47 48
    void start();
    void report();
    void stop();
    void halt();

49
protected:
50
    void paintEvent(QPaintEvent *event) override;
Harald Sitter's avatar
Harald Sitter committed
51

52 53
private:
    QTimer m_timer;
54
    Filelight::ScanManager* m_manager;
55 56 57
    QString m_text;
    int m_textWidth;
    int m_textHeight;
58
    KColorScheme m_colorScheme;
59 60 61
};

#endif