diff options
| author | 2011-01-01 20:19:56 +0000 | |
|---|---|---|
| committer | 2011-01-01 20:19:56 +0000 | |
| commit | c601b5a27f74b16158adafe429faefbe573e64a2 (patch) | |
| tree | a3cde3206a45628f8ac86e8dfbdab70b20c3a831 /src/modules/raweditor/RawEditorWindow.h | |
| parent | probable compilation fix for rijndaled/crypto++ (diff) | |
| download | KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.gz KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.bz2 KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.zip | |
The big rename for modules. Still some details remaining.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/raweditor/RawEditorWindow.h')
| -rw-r--r-- | src/modules/raweditor/RawEditorWindow.h | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/src/modules/raweditor/RawEditorWindow.h b/src/modules/raweditor/RawEditorWindow.h new file mode 100644 index 000000000..d0d689496 --- /dev/null +++ b/src/modules/raweditor/RawEditorWindow.h @@ -0,0 +1,141 @@ +#ifndef _RAWEDITOR_H_ +#define _RAWEDITOR_H_ +//============================================================================= +// +// File : EventEditorWindow.h +// Creation date : Mon Dec 23 2002 20:24:55 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the linkss 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 "KviWindow.h" +#include "KviQString.h" +#include <QTreeWidget> +#include "KviIconManager.h" + +#include <QWidget> +#include <QLineEdit> + +class KviScriptEditor; +class KviTalPopupMenu; + +class RawTreeWidget : public QTreeWidget +{ + public: + RawTreeWidget(QWidget *par) + : QTreeWidget(par){}; + void updateItem(QTreeWidgetItem *item) + { + update(indexFromItem(item,0)); + }; + ~RawTreeWidget() {}; +}; + +class RawTreeWidgetItem : public QTreeWidgetItem +{ +public: + int m_iIdx; +public: + RawTreeWidgetItem(QTreeWidget * par,int idx,bool bEnabled); + ~RawTreeWidgetItem() {}; +public: + void setEnabled(bool bEnabled) + { + if (bEnabled) setIcon(0,QIcon(*g_pIconManager->getSmallIcon(KVI_SMALLICON_RAWEVENT))); + else setIcon(0,QIcon(*g_pIconManager->getSmallIcon(KVI_SMALLICON_RAWEVENTNOHANDLERS))); + ((RawTreeWidget*)treeWidget())->updateItem(this); + }; +}; + +class RawHandlerTreeWidgetItem : public QTreeWidgetItem +{ +public: + RawHandlerTreeWidgetItem(QTreeWidgetItem * par,const QString & name,const QString & buffer,bool bEnabled) + : QTreeWidgetItem(par), m_szBuffer(buffer), m_bEnabled(bEnabled) + { + setText(0,name); + setEnabled(bEnabled); + }; + ~RawHandlerTreeWidgetItem() {}; +public: + void setEnabled(bool bEnabled) + { + if (bEnabled) setIcon(0,QIcon(*g_pIconManager->getSmallIcon(KVI_SMALLICON_HANDLER))); + else setIcon(0,QIcon(*g_pIconManager->getSmallIcon(KVI_SMALLICON_HANDLERDISABLED))); + ((RawTreeWidget*)treeWidget())->updateItem(this); + }; + QString m_szBuffer; + bool m_bEnabled; + void setName(const QString &szName); +}; + +class RawEditorWidget : public QWidget +{ + Q_OBJECT +public: + RawEditorWidget(QWidget * par); + ~RawEditorWidget(); +public: + KviScriptEditor * m_pEditor; + RawTreeWidget * m_pTreeWidget; + QLineEdit * m_pNameEditor; + KviTalPopupMenu * m_pContextPopup; + RawHandlerTreeWidgetItem * m_pLastEditedItem; + bool m_bOneTimeSetupDone; +public: + void commit(); + void saveLastEditedItem(); + void getUniqueHandlerName(RawTreeWidgetItem *it,QString &buffer); + void getExportEventBuffer(QString &szBuffer,RawHandlerTreeWidgetItem * it); +protected slots: + void currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *); + void customContextMenuRequested(const QPoint &pnt); + void toggleCurrentHandlerEnabled(); + void removeCurrentHandler(); + void addHandlerForCurrentRaw(); + void addRaw(); + void exportAllEvents(); + void exportCurrentHandler(); +protected: + void showEvent(QShowEvent *e); +private: + void oneTimeSetup(); +}; + +class RawEditorWindow : public KviWindow +{ + Q_OBJECT +public: + RawEditorWindow(KviMainWindow * lpFrm); + ~RawEditorWindow(); +protected: + RawEditorWidget * m_pEditor; +protected: + virtual QPixmap * myIconPtr(); + virtual void fillCaptionBuffers(); + virtual void getConfigGroupName(QString &szName); + virtual void saveProperties(KviConfigurationFile *); + virtual void loadProperties(KviConfigurationFile *); +protected slots: + void cancelClicked(); + void okClicked(); + void applyClicked(); +}; + +#endif //_RAWEDITOR_H_ |
