summaryrefslogtreecommitdiffstats
path: root/src/modules/theme/managementdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/theme/managementdialog.h')
-rw-r--r--src/modules/theme/managementdialog.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/src/modules/theme/managementdialog.h b/src/modules/theme/managementdialog.h
new file mode 100644
index 00000000..52ae0f86
--- /dev/null
+++ b/src/modules/theme/managementdialog.h
@@ -0,0 +1,109 @@
+#ifndef _MANAGEMENTDIALOG_H_
+#define _MANAGEMENTDIALOG_H_
+//=============================================================================
+//
+// File : managementdialog.h
+// Created on Sat 30 Dec 2006 14:54:56 by Szymon Stefanek
+//
+// This file is part of the KVIrc IRC Client distribution
+// Copyright (C) 2006 Szymon Stefanek <pragma at kvirc dot net>
+//
+// 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 opinion) any later version.
+//
+// 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, write to the Free Software Foundation,
+// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=============================================================================
+
+#include "kvi_optionswidget.h"
+#include "kvi_pointerlist.h"
+#include "kvi_theme.h"
+
+#include <qdialog.h>
+#ifdef COMPILE_USE_QT4
+#include <q3simplerichtext.h>
+#define KviTalSimpleRichText Q3SimpleRichText
+#else
+#include <qsimplerichtext.h>
+#define KviTalSimpleRichText QSimpleRichText
+#endif
+#include "kvi_tal_listbox.h"
+#include <qcombobox.h>
+#include "kvi_tal_popupmenu.h"
+#include <qcursor.h>
+#include <kvi_tal_wizard.h>
+
+
+class QLineEdit;
+class KviTalTextEdit;
+class QPushButton;
+class QLabel;
+class QCheckBox;
+
+//class QMultiLineEdit;
+
+class KviDynamicToolTip;
+class KviStyledToolButton;
+
+
+class KviThemeListBoxItem : public KviTalListBoxText
+{
+public:
+ KviThemeListBoxItem(KviTalListBox * box,KviThemeInfo * inf);
+ virtual ~KviThemeListBoxItem();
+public:
+ KviThemeInfo * m_pThemeInfo;
+ KviTalSimpleRichText * m_pText;
+public:
+ KviThemeInfo * themeInfo(){ return m_pThemeInfo; };
+ virtual int height ( const KviTalListBox * lb ) const ;
+protected:
+ virtual void paint ( QPainter * painter );
+};
+
+
+class KviThemeManagementDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ KviThemeManagementDialog(QWidget * parent);
+ virtual ~KviThemeManagementDialog();
+protected:
+ static KviThemeManagementDialog * m_pInstance;
+ KviTalListBox * m_pListBox;
+ KviTalPopupMenu * m_pContextPopup;
+ KviStyledToolButton * m_pDeleteThemeButton;
+ KviStyledToolButton * m_pPackThemeButton;
+public:
+ static KviThemeManagementDialog * instance(){ return m_pInstance; };
+ static void display();
+ static void cleanup();
+protected:
+ void fillThemeBox(const QString &szDir);
+ bool hasSelectedItems();
+ virtual void closeEvent(QCloseEvent * e);
+protected slots:
+ void saveCurrentTheme();
+ void getMoreThemes();
+ void installFromFile();
+ void fillThemeBox();
+ void deleteTheme();
+ void closeClicked();
+ void packTheme();
+ void applyTheme(KviTalListBoxItem *);
+ void applyCurrentTheme();
+ void enableDisableButtons();
+ void contextMenuRequested(KviTalListBoxItem * item, const QPoint & pos);
+ void tipRequest(KviDynamicToolTip *pTip,const QPoint &pnt);
+};
+
+#endif //!_MANAGEMENTDIALOG_H_