~ubuntu-branches/ubuntu/utopic/kde-workspace/utopic-proposed

« back to all changes in this revision

Viewing changes to plasma/generic/applets/system-monitor/hdd.h

  • Committer: Bazaar Package Importer
  • Author(s): Michał Zając
  • Date: 2011-07-09 08:31:15 UTC
  • Revision ID: james.westby@ubuntu.com-20110709083115-ohyxn6z93mily9fc
Tags: upstream-4.6.90
Import upstream version 4.6.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *   Copyright (C) 2007 Petri Damsten <damu@iki.fi>
 
3
 *   Copyright (C) 2010 Michel Lafon-Puyo <michel.lafonpuyo@gmail.com>
 
4
 *
 
5
 *   This program is free software; you can redistribute it and/or modify
 
6
 *   it under the terms of the GNU Library General Public License version 2 as
 
7
 *   published by the Free Software Foundation
 
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 Library General Public
 
15
 *   License along with this program; if not, write to the
 
16
 *   Free Software Foundation, Inc.,
 
17
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
18
 */
 
19
 
 
20
#ifndef HDD_HEADER
 
21
#define HDD_HEADER
 
22
 
 
23
#include <Plasma/DataEngine>
 
24
#include <QHash>
 
25
#include <QStandardItemModel>
 
26
#include <applet.h>
 
27
#include "ui_hdd-config.h"
 
28
 
 
29
namespace Plasma {
 
30
    class Meter;
 
31
}
 
32
class MonitorIcon;
 
33
class QGraphicsLinearLayout;
 
34
 
 
35
class Hdd : public SM::Applet
 
36
{
 
37
    Q_OBJECT
 
38
    public:
 
39
        Hdd(QObject *parent, const QVariantList &args);
 
40
        ~Hdd();
 
41
 
 
42
        virtual void init();
 
43
        virtual void createConfigurationInterface(KConfigDialog *parent);
 
44
 
 
45
    public slots:
 
46
        void configChanged();
 
47
        void dataUpdated(const QString &name, const Plasma::DataEngine::Data &data);
 
48
 
 
49
    protected:
 
50
        QString hddTitle(const QString& uuid, const Plasma::DataEngine::Data &data);
 
51
        QString guessHddTitle(const Plasma::DataEngine::Data &data);
 
52
        QString filePath(const Plasma::DataEngine::Data &data);
 
53
        bool addVisualization(const QString& source);
 
54
        virtual void deleteVisualizations();
 
55
        bool isValidDevice(const QString& uuid, Plasma::DataEngine::Data* data);
 
56
        void applyTheme(Plasma::Meter *w);
 
57
 
 
58
    protected slots:
 
59
        void configAccepted();
 
60
        void themeChanged();
 
61
 
 
62
    private:
 
63
        Ui::config ui;
 
64
        QStandardItemModel m_hddModel;
 
65
        QHash<const QString, MonitorIcon *> m_icons;
 
66
        QHash<const QString, QGraphicsLinearLayout *> m_layouts;
 
67
        QHash<QString, QList<Plasma::Meter *> > m_diskMap;
 
68
        QStringList mounted();
 
69
};
 
70
 
 
71
K_EXPORT_PLASMA_APPLET(sm_hdd, Hdd)
 
72
 
 
73
#endif