KVIrc 5.2.4
Developer APIs
ActionEditor.h
Go to the documentation of this file.
1#ifndef _ACTIONEDITOR_H_
2#define _ACTIONEDITOR_H_
3//=============================================================================
4//
5// File : ActionEditor.h
6// Creation date : Tue Dec 29 2004 02:40:55 CEST by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2004-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 "KviWindow.h"
28#include <QTreeWidget>
29
30#include <QWidget>
31#include <QTextDocument>
32#include <QToolButton>
33#include <QCheckBox>
34
35class QLineEdit;
36class QComboBox;
37class QSimpleRichText;
38class QPushButton;
39class QSplitter;
41class KviScriptEditor;
42class ActionEditor;
43
45{
46public:
47 QString m_szName;
51 QString m_szCategory;
52 QString m_szBigIcon;
55 unsigned int m_uFlags;
56 ActionEditorTreeWidgetItem * m_pItem; // ummigarba tanto...
57public:
58 ActionData(const QString & szName,
59 const QString & szScriptCode,
60 const QString & szVisibleName,
61 const QString & szDescription,
62 const QString & szCategory,
63 const QString & szBigIcon,
64 const QString & szSmallIcon,
65 unsigned int uFlags,
66 const QString & szKeySequence,
68 : m_szName(szName), m_szScriptCode(szScriptCode), m_szVisibleName(szVisibleName),
69 m_szDescription(szDescription), m_szCategory(szCategory), m_szBigIcon(szBigIcon),
70 m_szSmallIcon(szSmallIcon), m_szKeySequence(szKeySequence), m_uFlags(uFlags),
71 m_pItem(pItem){};
72};
73
74class ActionEditorTreeWidgetItem : public QTreeWidgetItem
75{
76public:
77 ActionEditorTreeWidgetItem(QTreeWidget * v, ActionData * a);
79
80protected:
82 QTreeWidget * m_pTreeWidget;
83 QString m_szKey;
84
85public:
87 //void setupForActionData();
88public:
89 //virtual void paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align);
90 //virtual void setup();
91 virtual QString key(int, bool) const;
92};
93
94class ActionEditorTreeView : public QTreeWidget
95{
96 Q_OBJECT
97public:
98 ActionEditorTreeView(QWidget * pParent);
100
101protected:
102 void resizeEvent(QResizeEvent * e) override;
103};
104
105class SingleActionEditor : public QWidget
106{
107 Q_OBJECT
108public:
109 SingleActionEditor(QWidget * par, ActionEditor * ed);
111
112protected:
115 QLineEdit * m_pNameEdit;
117 QComboBox * m_pCategoryCombo;
121 QLineEdit * m_pSmallIconEdit;
122 QLineEdit * m_pBigIconEdit;
123 QToolButton * m_pSmallIconButton;
124 QToolButton * m_pBigIconButton;
136
137public:
139 void setActionData(ActionData * d);
140 void commit();
141protected slots:
142 void chooseSmallIcon();
143 void chooseBigIcon();
144 void displaySmallIcon(const QString & szIconId);
145 void displayBigIcon(const QString & szIconId);
146 void needsContextCheckToggled(bool);
151 void queryWindowsCheckToggled(bool);
152};
153
154class ActionEditor : public QWidget
155{
156 friend class ActionEditorWindow;
157 Q_OBJECT
158public:
159 ActionEditor(QWidget * par);
161
162protected:
165 QSplitter * m_pSplitter;
166 QPushButton * m_pNewActionButton;
169
170public:
171 void commit();
172 bool actionExists(const QString & szName);
173
174protected:
176 QString nameForAutomaticAction(const QString & szTemplate);
177protected slots:
178 void currentItemChanged(QTreeWidgetItem * it, QTreeWidgetItem * prev);
179 void newAction();
180 void deleteActions();
181 void exportActions();
182};
183
185{
186 Q_OBJECT
187public:
190
191protected:
193
194protected:
195 QPixmap * myIconPtr() override;
196 void getConfigGroupName(QString & szName) override;
197 void saveProperties(KviConfigurationFile *) override;
198 void loadProperties(KviConfigurationFile *) override;
199protected slots:
200 void cancelClicked();
201 void okClicked();
202 void applyClicked();
203};
204
205#endif //_ACTIONEDITOR_H_
Contains the KviWindow class.
Definition ActionEditor.h:45
ActionEditorTreeWidgetItem * m_pItem
Definition ActionEditor.h:56
unsigned int m_uFlags
Definition ActionEditor.h:55
QString m_szDescription
Definition ActionEditor.h:50
QString m_szCategory
Definition ActionEditor.h:51
QString m_szKeySequence
Definition ActionEditor.h:54
QString m_szName
Definition ActionEditor.h:47
QString m_szScriptCode
Definition ActionEditor.h:48
QString m_szVisibleName
Definition ActionEditor.h:49
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)
Definition ActionEditor.h:58
QString m_szBigIcon
Definition ActionEditor.h:52
QString m_szSmallIcon
Definition ActionEditor.h:53
Definition ActionEditor.h:95
void resizeEvent(QResizeEvent *e) override
Definition ActionEditor.cpp:618
Definition ActionEditor.h:75
QTreeWidget * m_pTreeWidget
Definition ActionEditor.h:82
QString m_szKey
Definition ActionEditor.h:83
~ActionEditorTreeWidgetItem()
Definition ActionEditor.cpp:83
ActionData * actionData()
Definition ActionEditor.h:86
virtual QString key(int, bool) const
Definition ActionEditor.cpp:88
ActionData * m_pActionData
Definition ActionEditor.h:81
Definition ActionEditor.h:185
void getConfigGroupName(QString &szName) override
Definition ActionEditor.cpp:941
void loadProperties(KviConfigurationFile *) override
Definition ActionEditor.cpp:952
void saveProperties(KviConfigurationFile *) override
Definition ActionEditor.cpp:946
QPixmap * myIconPtr() override
Definition ActionEditor.cpp:936
ActionEditorWindow()
Definition ActionEditor.cpp:884
void okClicked()
Definition ActionEditor.cpp:920
void applyClicked()
Definition ActionEditor.cpp:926
ActionEditor * m_pEditor
Definition ActionEditor.h:192
void cancelClicked()
Definition ActionEditor.cpp:931
~ActionEditorWindow()
Definition ActionEditor.cpp:915
Definition ActionEditor.h:155
QString nameForAutomaticAction(const QString &szTemplate)
Definition ActionEditor.cpp:776
int selectedCount()
void newAction()
Definition ActionEditor.cpp:793
bool actionExists(const QString &szName)
Definition ActionEditor.cpp:821
SingleActionEditor * m_pSingleActionEditor
Definition ActionEditor.h:164
QPushButton * m_pDeleteActionsButton
Definition ActionEditor.h:167
QPushButton * m_pNewActionButton
Definition ActionEditor.h:166
QPushButton * m_pExportActionsButton
Definition ActionEditor.h:168
void currentItemChanged(QTreeWidgetItem *it, QTreeWidgetItem *prev)
Definition ActionEditor.cpp:831
QSplitter * m_pSplitter
Definition ActionEditor.h:165
void exportActions()
Definition ActionEditor.cpp:703
void deleteActions()
Definition ActionEditor.cpp:751
ActionEditorTreeView * m_pTreeWidget
Definition ActionEditor.h:163
void commit()
Definition ActionEditor.cpp:855
Definition KviConfigurationFile.h:50
Definition KviScriptEditor.h:45
Base class for all windows in KVIrc.
Definition KviWindow.h:75
Definition ActionEditor.h:106
QLineEdit * m_pVisibleNameEdit
Definition ActionEditor.h:116
void consoleWindowsCheckToggled(bool)
Definition ActionEditor.cpp:301
QCheckBox * m_pSpecificWindowsCheck
Definition ActionEditor.h:128
void queryWindowsCheckToggled(bool)
Definition ActionEditor.cpp:307
QLineEdit * m_pBigIconEdit
Definition ActionEditor.h:122
void chooseBigIcon()
Definition ActionEditor.cpp:392
void chooseSmallIcon()
Definition ActionEditor.cpp:378
QLineEdit * m_pSmallIconEdit
Definition ActionEditor.h:121
void channelWindowsCheckToggled(bool)
Definition ActionEditor.cpp:295
void displaySmallIcon(const QString &szIconId)
Definition ActionEditor.cpp:346
QLineEdit * m_pNameEdit
Definition ActionEditor.h:115
QLineEdit * m_pDescriptionEdit
Definition ActionEditor.h:120
QCheckBox * m_pWindowQueryCheck
Definition ActionEditor.h:131
ActionData * m_pActionData
Definition ActionEditor.h:114
void specificWindowsCheckToggled(bool)
Definition ActionEditor.cpp:327
QCheckBox * m_pNeedsContextCheck
Definition ActionEditor.h:125
QCheckBox * m_pNeedsConnectionCheck
Definition ActionEditor.h:126
QCheckBox * m_pWindowConsoleCheck
Definition ActionEditor.h:129
QToolButton * m_pBigIconButton
Definition ActionEditor.h:124
ActionData * actionData()
Definition ActionEditor.h:138
QComboBox * m_pCategoryCombo
Definition ActionEditor.h:117
QCheckBox * m_pWindowDccChatCheck
Definition ActionEditor.h:132
void displayBigIcon(const QString &szIconId)
Definition ActionEditor.cpp:362
QCheckBox * m_pWindowChannelCheck
Definition ActionEditor.h:130
void setActionData(ActionData *d)
Definition ActionEditor.cpp:406
QCheckBox * m_pChannelOnlyIfUsersSelectedCheck
Definition ActionEditor.h:134
QCheckBox * m_pEnableAtLoginCheck
Definition ActionEditor.h:127
QCheckBox * m_pQueryOnlyIfUsersSelectedCheck
Definition ActionEditor.h:135
void commit()
Definition ActionEditor.cpp:530
QCheckBox * m_pConsoleOnlyIfUsersSelectedCheck
Definition ActionEditor.h:133
QLineEdit * m_pKeySequenceEdit
Definition ActionEditor.h:119
void needsConnectionCheckToggled(bool)
Definition ActionEditor.cpp:321
QToolButton * m_pSmallIconButton
Definition ActionEditor.h:123
ActionEditor * m_pActionEditor
Definition ActionEditor.h:113
KviScriptEditor * m_pScriptEditor
Definition ActionEditor.h:118
void needsContextCheckToggled(bool)
Definition ActionEditor.cpp:313
#define d
Definition detector.cpp:69
#define e
Definition detector.cpp:70
#define v
Definition detector.cpp:87
#define a
Definition detector.cpp:92