not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / tools / desktopthemedetails / desktopthemedetails.h
blob981c8b26f1196a17dbef2d5731ae304510344742
1 /*
2 Copyright (c) 2007 Paolo Capriotti <p.capriotti@gmail.com>
3 Copyright (c) 2008 by Petri Damsten <damu@iki.fi>
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 */
11 #ifndef DESKTOPTHEMEDETAILS_H
12 #define DESKTOPTHEMEDETAILS_H
14 #include <kcmodule.h>
15 #include "ui_DesktopThemeDetails.h"
17 namespace Plasma {
18 class Containment;
19 class View;
21 class ThemeModel;
22 class QStandardItemModel;
24 class DesktopThemeDetails : public KCModule, public Ui::DesktopThemeItems
26 Q_OBJECT
27 public:
28 DesktopThemeDetails(QWidget* parent, const QVariantList &args);
29 ~DesktopThemeDetails();
31 void reloadConfig();
33 public slots:
34 void replacementItemChanged();
35 void resetThemeDetails();
36 void toggleAdvancedVisible();
37 void save();
38 void removeTheme();
39 void exportTheme();
41 private:
42 void updateReplaceItemList(const QString& item);
43 void loadThemeItems();
44 bool isCustomized(const QString& theme);
45 void clearCustomized();
47 private slots:
48 void getNewThemes();
49 void cleanup();
51 private:
52 ThemeModel* m_themeModel;
53 QStandardItemModel* m_containmentModel;
54 Plasma::View* m_view;
55 Plasma::Containment* m_containment;
56 QHash<QString, QString> m_themeItems;
57 QHash<QString, QString> m_themeReplacements;
58 QHash<QString, QString> m_dropListFiles;
59 bool m_themeCustomized;
60 QString m_baseTheme;
63 #endif // DESKTOPTHEMEDETAILS_H