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/actioneditor/ActionEditor.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/actioneditor/ActionEditor.h')
| -rw-r--r-- | src/modules/actioneditor/ActionEditor.h | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/src/modules/actioneditor/ActionEditor.h b/src/modules/actioneditor/ActionEditor.h new file mode 100644 index 000000000..ac05ec216 --- /dev/null +++ b/src/modules/actioneditor/ActionEditor.h @@ -0,0 +1,204 @@ +#ifndef _ACTIONEDITOR_H_ +#define _ACTIONEDITOR_H_ +//============================================================================= +// +// File : ActionEditor.h +// Creation date : Tue Dec 29 2004 02:40:55 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2004-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 <QTreeWidget> + +#include <QWidget> +#include <QTextDocument> +#include <QToolButton> +#include <QCheckBox> + + +class QLineEdit; +class QComboBox; +class QSimpleRichText; +class QPushButton; +class QSplitter; +class ActionEditorTreeWidgetItem; +class KviScriptEditor; +class ActionEditor; + + +class ActionData +{ +public: + QString m_szName; + QString m_szScriptCode; + QString m_szVisibleName; + QString m_szDescription; + QString m_szCategory; + QString m_szBigIcon; + QString m_szSmallIcon; + QString m_szKeySequence; + unsigned int m_uFlags; + ActionEditorTreeWidgetItem * m_pItem; // ummigarba tanto... +public: + ActionData(const QString &szName, + const QString &szScriptCode, + const QString &szVisibleName, + const QString &szDescription, + const QString &szCategory, + const QString &szBigIcon, + const QString &szSmallIcon, + unsigned int uFlags, + const QString &szKeySequence, + ActionEditorTreeWidgetItem * pItem) + : m_szName(szName), m_szScriptCode(szScriptCode), m_szVisibleName(szVisibleName), + m_szDescription(szDescription), m_szCategory(szCategory), m_szBigIcon(szBigIcon), + m_szSmallIcon(szSmallIcon), m_szKeySequence(szKeySequence), m_uFlags(uFlags), + m_pItem(pItem) + {}; +}; + + +class ActionEditorTreeWidgetItem : public QTreeWidgetItem +{ +public: + ActionEditorTreeWidgetItem(QTreeWidget * v,ActionData * a); + ~ActionEditorTreeWidgetItem(); +protected: + ActionData * m_pActionData; + //QSimpleRichText * m_pText; + QTextDocument * m_pText; + QPixmap * m_pIcon; + QTreeWidget * m_pTreeWidget; + QString m_szKey; +public: + ActionData * actionData(){ return m_pActionData; }; + //void setupForActionData(); +public: + //virtual void paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align); + //virtual void setup(); + virtual QString key(int,bool) const; +}; + + +class ActionEditorTreeView : public QTreeWidget +{ + Q_OBJECT +public: + ActionEditorTreeView(QWidget * pParent); + ~ActionEditorTreeView(); +protected: + virtual void resizeEvent(QResizeEvent * e); +}; + + +class SingleActionEditor : public QWidget +{ + Q_OBJECT +public: + SingleActionEditor(QWidget * par,ActionEditor * ed); + ~SingleActionEditor(); +protected: + ActionEditor * m_pActionEditor; + ActionData * m_pActionData; + QLineEdit * m_pNameEdit; + QLineEdit * m_pVisibleNameEdit; + QComboBox * m_pCategoryCombo; + KviScriptEditor * m_pScriptEditor; + QLineEdit * m_pKeySequenceEdit; + QLineEdit * m_pDescriptionEdit; + QLineEdit * m_pSmallIconEdit; + QLineEdit * m_pBigIconEdit; + QToolButton * m_pSmallIconButton; + QToolButton * m_pBigIconButton; + QCheckBox * m_pNeedsContextCheck; + QCheckBox * m_pNeedsConnectionCheck; + QCheckBox * m_pEnableAtLoginCheck; + QCheckBox * m_pSpecificWindowsCheck; + QCheckBox * m_pWindowConsoleCheck; + QCheckBox * m_pWindowChannelCheck; + QCheckBox * m_pWindowQueryCheck; + QCheckBox * m_pWindowDccChatCheck; + QCheckBox * m_pConsoleOnlyIfUsersSelectedCheck; + QCheckBox * m_pChannelOnlyIfUsersSelectedCheck; + QCheckBox * m_pQueryOnlyIfUsersSelectedCheck; +public: + ActionData * actionData(){ return m_pActionData; }; + void setActionData(ActionData * d); + void commit(); +protected slots: + void chooseSmallIcon(); + void chooseBigIcon(); + void displaySmallIcon(const QString &szIconId); + void displayBigIcon(const QString &szIconId); + void needsContextCheckToggled(bool); + void needsConnectionCheckToggled(bool); + void specificWindowsCheckToggled(bool); + void channelQueryOrConsoleWindowCheckToggled(bool); +}; + + +class ActionEditor : public QWidget +{ + friend class ActionEditorWindow; + Q_OBJECT +public: + ActionEditor(QWidget * par); + ~ActionEditor(); +protected: + ActionEditorTreeView * m_pTreeWidget; + SingleActionEditor * m_pSingleActionEditor; + QSplitter * m_pSplitter; + QPushButton * m_pNewActionButton; + QPushButton * m_pDeleteActionsButton; + QPushButton * m_pExportActionsButton; +public: + void commit(); + bool actionExists(const QString &szName); +protected: + int selectedCount(); + QString nameForAutomaticAction(const QString &szTemplate); +protected slots: + void currentItemChanged(QTreeWidgetItem * it,QTreeWidgetItem *prev); + void newAction(); + void deleteActions(); + void exportActions(); +}; + + +class ActionEditorWindow : public KviWindow +{ + Q_OBJECT +public: + ActionEditorWindow(KviMainWindow * lpFrm); + ~ActionEditorWindow(); +protected: + ActionEditor * m_pEditor; +protected: + virtual QPixmap * myIconPtr(); + virtual void getConfigGroupName(QString &szName); + virtual void saveProperties(KviConfigurationFile *); + virtual void loadProperties(KviConfigurationFile *); +protected slots: + void cancelClicked(); + void okClicked(); + void applyClicked(); +}; + +#endif //_ACTIONEDITOR_H_ |
