KVIrc  4.9.2
DeveloperAPIs
ThemeManagementDialog.h
Go to the documentation of this file.
1 #ifndef _MANAGEMENTDIALOG_H_
2 #define _MANAGEMENTDIALOG_H_
3 //=============================================================================
4 //
5 // File : ThemeManagementDialog.h
6 // Creation date : Sat 30 Dec 2006 14:54:56 by Szymon Stefanek
7 //
8 // This file is part of the KVIrc IRC Client distribution
9 // Copyright (C) 2006-2010 Szymon Stefanek <pragma at kvirc dot net>
10 //
11 // This program is FREE software. You can redistribute it and/or
12 // modify it under the terms of the GNU General Public License
13 // as published by the Free Software Foundation; either version 2
14 // of the License, or (at your option) any later version.
15 //
16 // This program is distributed in the HOPE that it will be USEFUL,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 // See the GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program. If not, write to the Free Software Foundation,
23 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24 //
25 //=============================================================================
26 
27 #include "KviOptionsWidget.h"
28 #include "KviPointerList.h"
29 #include "KviTheme.h"
30 #include "KviTalWizard.h"
31 #include "KviTalListWidget.h"
32 
33 #include <QWidget>
34 #include <QComboBox>
35 #include <QCursor>
36 #include <QListWidget>
37 #include <QItemDelegate>
38 #include <QToolButton>
39 #include <QMenu>
40 #include "kvi_settings.h"
41 
42 #if defined(COMPILE_WEBKIT_SUPPORT) || defined(Q_MOC_RUN)
44 #endif
45 
46 class QLineEdit;
47 class QPushButton;
48 class QLabel;
49 class KviDynamicToolTip;
50 
52 {
53 public:
55  virtual ~ThemeListWidgetItem();
56 
57 public:
59 
60 public:
62 };
63 
64 class ThemeManagementDialog : public QWidget
65 {
66  Q_OBJECT
67 public:
68  ThemeManagementDialog(QWidget * parent);
69  virtual ~ThemeManagementDialog();
70 
71 protected:
76  QMenu * m_pContextPopup;
77  QToolButton * m_pDeleteThemeButton;
78  QToolButton * m_pPackThemeButton;
79 #if defined(COMPILE_WEBKIT_SUPPORT) || defined(Q_MOC_RUN)
80  WebThemeInterfaceDialog * m_pWebThemeInterfaceDialog;
81 #endif
82 public:
84  static void display(bool bTopLevel);
85  static void cleanup();
86 
87 protected:
88  void fillThemeBox(bool bBuiltin);
89  virtual void closeEvent(QCloseEvent * e);
90 protected slots:
91  void saveCurrentTheme();
92  void getMoreThemes();
93  void installFromFile();
94  void fillThemeBox();
95  void deleteTheme();
96  void closeClicked();
97  void packTheme();
98  void applyTheme(QListWidgetItem *);
99  void applyCurrentTheme();
100  void enableDisableButtons();
101  void contextMenuRequested(const QPoint & pos);
102  //void tipRequest(KviDynamicToolTip *pTip,const QPoint &pnt);
103  void tipRequest(QListWidgetItem * pItem, const QPoint & pnt);
105 };
106 
107 #endif
KviTalIconAndRichTextItemDelegate * m_pItemDelegate
Definition: ThemeManagementDialog.h:73
Definition: KviTalListWidget.h:35
Definition: KviDynamicToolTip.h:49
void packTheme()
Definition: ThemeManagementDialog.cpp:303
A set of information about a KVIrc theme.
Definition: KviTheme.h:58
void deleteTheme()
Definition: ThemeManagementDialog.cpp:372
KviThemeInfo * m_pThemeInfo
Definition: ThemeManagementDialog.h:58
ThemeListWidgetItem(KviTalListWidget *pBox, KviThemeInfo *pInfo)
Definition: ThemeManagementDialog.cpp:74
void enableDisableButtons()
Definition: ThemeManagementDialog.cpp:492
Definition: ThemeManagementDialog.h:64
void fillThemeBox()
Definition: ThemeManagementDialog.cpp:482
#define e
Definition: detector.cpp:69
void saveCurrentTheme()
Definition: ThemeManagementDialog.cpp:449
virtual void closeEvent(QCloseEvent *e)
Definition: ThemeManagementDialog.cpp:514
void tipRequest(QListWidgetItem *pItem, const QPoint &pnt)
Definition: ThemeManagementDialog.cpp:520
QToolButton * m_pDeleteThemeButton
Definition: ThemeManagementDialog.h:77
void getMoreThemes()
Definition: ThemeManagementDialog.cpp:421
static ThemeManagementDialog * m_pInstance
Definition: ThemeManagementDialog.h:72
void applyTheme(QListWidgetItem *)
Definition: ThemeManagementDialog.cpp:338
Definition: ThemeManagementDialog.h:51
virtual ~ThemeListWidgetItem()
Definition: ThemeManagementDialog.cpp:106
static void display(bool bTopLevel)
Definition: ThemeManagementDialog.cpp:260
void closeClicked()
Definition: ThemeManagementDialog.cpp:254
void webThemeInterfaceDialogDestroyed()
Definition: ThemeManagementDialog.cpp:441
Toolkit Abstraction Layer: itemdelegate class.
Definition: KviTalIconAndRichTextItemDelegate.h:52
C++ Template based double linked pointer list class.
static ThemeManagementDialog * instance()
Definition: ThemeManagementDialog.h:83
Definition: KviTalListWidget.h:51
KviTalListWidget * m_pListWidget
Definition: ThemeManagementDialog.h:74
ThemeManagementDialog(QWidget *parent)
Definition: ThemeManagementDialog.cpp:113
void contextMenuRequested(const QPoint &pos)
Definition: ThemeManagementDialog.cpp:318
static void cleanup()
Definition: ThemeManagementDialog.cpp:295
QLabel * m_pCurrentInstalledThemeLabel
Definition: ThemeManagementDialog.h:75
KviThemeInfo * themeInfo()
Definition: ThemeManagementDialog.h:61
This file contains compile time settings.
QMenu * m_pContextPopup
Definition: ThemeManagementDialog.h:76
void applyCurrentTheme()
Definition: ThemeManagementDialog.cpp:345
virtual ~ThemeManagementDialog()
Definition: ThemeManagementDialog.cpp:239
void installFromFile()
Definition: ThemeManagementDialog.cpp:397
QToolButton * m_pPackThemeButton
Definition: ThemeManagementDialog.h:78