KVIrc 5.2.0
Developer APIs
KviSelectors.h
Go to the documentation of this file.
1#ifndef _KVI_SELECTORS_H_
2#define _KVI_SELECTORS_H_
3//=============================================================================
4//
5// File : KviSelectors.h
6// Creation date : Mon Now 13 2000 15:21:10 CEST by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2000-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 "kvi_settings.h"
28#include "KviPixmap.h"
29#include "KviTalHBox.h"
30#include "KviTalListWidget.h"
31#include "KviTalVBox.h"
32
33#include <QCheckBox>
34#include <QColor>
35#include <QFont>
36#include <QLabel>
37#include <QLineEdit>
38#include <QPushButton>
39#include <QScrollArea>
40#include <QSpinBox>
41#include <QString>
42#include <QStringList>
43#include <QTreeWidget>
44#include <QValidator>
45
47{
48public:
51
52public:
53 virtual void commit(){};
54 virtual QString textForSearch() { return QString(); };
55 virtual QWidget * widgetToHighlight() { return nullptr; };
56};
57
58class KVIRC_API KviBoolSelector : public QCheckBox, public KviSelectorInterface
59{
60 Q_OBJECT
61public:
62 KviBoolSelector(QWidget * par, const QString & txt, bool * pOption, bool bEnabled);
64
65private:
66 bool * m_pOption;
67
68public:
69 virtual void commit();
70 QString textForSearch() { return text(); };
71 QWidget * widgetToHighlight() { return (QWidget *)this; };
72public slots:
73 void setNotEnabled(bool bNotEnabled);
74 void setEnabled(bool bEnabled);
75};
76
78{
79 Q_OBJECT
80public:
81 KviStringSelector(QWidget * par, const QString & txt, QString * pOption, bool bEnabled);
83
84protected:
85 QLabel * m_pLabel;
86 QLineEdit * m_pLineEdit;
87 QString * m_pOption;
88
89public:
90 void setValidator(QValidator * v) { m_pLineEdit->setValidator(v); };
91 void setMinimumLabelWidth(unsigned int uWidth) { m_pLabel->setMinimumWidth(uWidth); };
92 virtual void commit();
93 void setText(const QString & text);
94 QString textForSearch() { return m_pLabel->text(); };
95 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
96 QLineEdit * lineEdit() { return m_pLineEdit; };
97 QString currentText() { return m_pLineEdit->text(); };
98public slots:
99 virtual void setEnabled(bool bEnabled);
100};
101
103{
104 Q_OBJECT
105public:
106 KviPasswordSelector(QWidget * par, const QString & txt, QString * pOption, bool bEnabled);
108
109protected:
110 QLabel * m_pLabel;
111 QString textForSearch() { return m_pLabel->text(); };
112 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
113 QLineEdit * m_pLineEdit;
114 QCheckBox * m_pCheckBox;
115 QString * m_pOption;
116
117public:
118 void setValidator(QValidator * v) { m_pLineEdit->setValidator(v); };
119 void setMinimumLabelWidth(unsigned int uWidth) { m_pLabel->setMinimumWidth(uWidth); };
120 virtual void commit();
121 void setText(const QString & text);
122public slots:
123 virtual void setEnabled(bool bEnabled);
124protected slots:
125 void checkToggled(int state);
126};
127
129{
130 Q_OBJECT
131public:
132 KviPasswordLineEdit(QWidget * par);
134
135protected:
136 QLineEdit * m_pLineEdit;
137 QCheckBox * m_pCheckBox;
138
139public:
140 QString text();
141 void setText(const QString & text);
142public slots:
143 virtual void setEnabled(bool bEnabled);
144protected slots:
145 void checkToggled(int state);
146};
147
148class KVIRC_API KviPixmapPreview : public QScrollArea
149{
150 Q_OBJECT
151public:
152 KviPixmapPreview(QWidget * par);
154
155protected:
156 QLabel * m_pLabPixmap;
157
158public:
159 void setPixmap(KviPixmap * pix);
160};
161
163{
164 Q_OBJECT
165public:
166 KviPixmapSelector(QWidget * par, const QString & txt, KviPixmap * pOption, bool bEnabled);
168
169private:
170 QCheckBox * m_pCheckBox;
173 QPushButton * m_pChooseButton;
176
177public:
178 void setImagePath(const QString & path);
179 virtual void commit();
180 virtual void setEnabled(bool bEnabled);
181protected slots:
182 void checkBoxToggled(bool bEnabled);
183 void choosePixmap();
184};
185
187{
188 Q_OBJECT
189public:
190 KviUIntSelector(QWidget * par, const QString & txt, unsigned int * pOption,
191 unsigned int uLowBound, unsigned int uHighBound, unsigned int uDefault, bool bEnabled, bool bShortInt = false);
193
194private:
195 QLabel * m_pLabel;
196
197 QSpinBox * m_pSpinBox;
198 unsigned int * m_pOption;
199 unsigned int m_uLowBound;
200 unsigned int m_uHighBound;
201 unsigned int m_uDefault;
203
204public:
205 QString textForSearch() { return m_pLabel->text(); };
206 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
207 virtual void setPrefix(const QString & txt);
208 virtual void setSuffix(const QString & txt);
209 virtual void commit();
210public slots:
211 virtual void setEnabled(bool bEnabled);
212};
213
214class KVIRC_API KviFileSelector : public QWidget, public KviSelectorInterface
215{
216 Q_OBJECT
217 Q_PROPERTY(QString tmpFile READ tmpFile WRITE setTmpFile)
218public:
219 KviFileSelector(QWidget * par, const QString & txt, QString * pOption, bool bEnabled, unsigned int uFlags = 0, const QString & szFilter = QString());
221
222public:
223 enum Flags
224 {
225 ChooseSaveFileName = 1,
226 DontConfirmOverwrite = 2,
227 VerticalLayout = 4
228 };
229
230protected:
231 QLabel * m_pLabel;
232 QLineEdit * m_pLineEdit;
233 QPushButton * m_pButton;
234 QString * m_pOption;
235 unsigned int m_uFlags;
236 QString m_szFilter;
237 QGridLayout * m_Layout;
238
239public:
240 QString tmpFile() { return m_pLineEdit->text(); };
241 void setTmpFile(QString & szFile) { m_pLineEdit->setText(szFile); };
242 virtual void commit();
243 void setSelection(const QString & szSelection);
244signals:
245 void selectionChanged(const QString & szNewValue);
246public slots:
247 virtual void setEnabled(bool bEnabled);
248private slots:
249 void browseClicked();
250
251protected:
252 virtual void select();
253};
254
256{
257 Q_OBJECT
258public:
259 KviDirectorySelector(QWidget * par, const QString & txt, QString * pOption, bool bEnabled, unsigned int uFlags = 0);
261
262protected:
263 virtual void select();
264};
265
267{
268 Q_OBJECT
269public:
270 KviColorSelector(QWidget * par, const QString & txt, QColor * pOption, bool bEnabled);
272
273private:
274 QLabel * m_pLabel;
275 QColor * m_pOption;
277 QPushButton * m_pButton;
278
279public:
280 QString textForSearch() { return m_pLabel->text(); };
281 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
282 virtual void commit();
283 QColor getColor() { return m_memColor; };
284 void forceColor(QColor clr);
285
286private:
287 void setButtonPalette(QColor * pOption);
288private slots:
289 void changeClicked();
290public slots:
291 virtual void setEnabled(bool bEnabled);
292};
293
295{
296 Q_OBJECT
297public:
298 KviFontSelector(QWidget * par, const QString & txt, QFont * pOption, bool bEnabled);
300
301private:
302 QLabel * m_pLabel;
303 QFont * m_pOption;
304 QPushButton * m_pButton;
305
306public:
307 virtual void commit();
308 QString textForSearch() { return m_pLabel->text(); };
309 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
310private:
311 void setButtonFont(QFont * pOption);
312public slots:
313 virtual void setEnabled(bool bEnabled);
314private slots:
315 void changeClicked();
316};
317
319{
320 Q_OBJECT
321public:
322 KviStringListSelector(QWidget * par, const QString & txt, QStringList * pOption, bool bEnabled);
324
325private:
326 QLabel * m_pLabel;
328 QLineEdit * m_pLineEdit;
329 QPushButton * m_pAddButton;
330 QPushButton * m_pRemoveButton;
331 QStringList * m_pOption;
332
333public:
334 virtual void commit();
335 QString textForSearch() { return m_pLabel->text(); };
336 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
337public slots:
338 virtual void setEnabled(bool bEnabled);
339private slots:
340 void textChanged(const QString & str);
341 void itemSelectionChanged();
342 void addClicked();
343 void removeClicked();
344};
345
346class QMenu;
347
349{
350 Q_OBJECT
351public:
352 KviMircTextColorSelector(QWidget * par, const QString & txt, unsigned int * uFore, unsigned int * uBack, bool bEnabled);
354
355private:
356 QLabel * m_pLabel;
357 QPushButton * m_pButton;
358 unsigned int * m_pUFore;
359 unsigned int * m_pUBack;
360 unsigned int m_uFore;
361 unsigned int m_uBack;
365
366public:
367 virtual void commit();
368 virtual void setEnabled(bool bEnabled);
369protected slots:
370 void buttonClicked();
371 void foreSelected(QAction * pAction);
372 void backSelected(QAction * pAction);
373
374protected:
375 void setButtonPalette();
376};
377
379{
380 Q_OBJECT
381public:
382 KviSoundSelector(QWidget * par, const QString & txt, QString * pOption, bool bEnabled);
384
385protected:
386 QPushButton * m_pPlayButton;
387private slots:
388 void playSound();
389
390public:
391 virtual void setEnabled(bool bEnabled);
392};
393
394class KVIRC_API KviChanTreeViewItem : public QTreeWidgetItem
395{
396private:
397 QString m_szPass;
398
399public:
400 KviChanTreeViewItem(QTreeWidget * pList, QString szChan, QString szPass);
402
403 const QString & pass() { return m_szPass; }
404};
405
407{
408 Q_OBJECT
409public:
410 KviChannelListSelector(QWidget * par, const QString & txt, QStringList * pOption, bool bEnabled);
412
413private:
414 QLabel * m_pLabel;
415 QTreeWidget * m_pTreeWidget;
416 QLineEdit * m_pChanLineEdit;
417 QLineEdit * m_pPassLineEdit;
418 QPushButton * m_pAddButton;
419 QPushButton * m_pRemoveButton;
420 QStringList * m_pOption;
421
422public:
423 virtual void commit();
424 QString textForSearch() { return m_pLabel->text(); };
425 QWidget * widgetToHighlight() { return (QWidget *)m_pLabel; };
426 virtual void setEnabled(bool bEnabled);
427private slots:
428 void textChanged(const QString & str);
429 void itemSelectionChanged();
430 void addClicked();
431 void removeClicked();
432};
433
434#endif
Class for horizontal box.
Class for vertical box.
Definition KviSelectors.h:59
QString textForSearch()
Definition KviSelectors.h:70
QWidget * widgetToHighlight()
Definition KviSelectors.h:71
~KviBoolSelector()
Definition KviSelectors.h:63
bool * m_pOption
Definition KviSelectors.h:66
Definition KviSelectors.h:395
const QString & pass()
Definition KviSelectors.h:403
~KviChanTreeViewItem()
Definition KviSelectors.h:401
QString m_szPass
Definition KviSelectors.h:397
Definition KviSelectors.h:407
QString textForSearch()
Definition KviSelectors.h:424
QWidget * widgetToHighlight()
Definition KviSelectors.h:425
QTreeWidget * m_pTreeWidget
Definition KviSelectors.h:415
QLineEdit * m_pChanLineEdit
Definition KviSelectors.h:416
QLabel * m_pLabel
Definition KviSelectors.h:414
QPushButton * m_pAddButton
Definition KviSelectors.h:418
QStringList * m_pOption
Definition KviSelectors.h:420
QPushButton * m_pRemoveButton
Definition KviSelectors.h:419
QLineEdit * m_pPassLineEdit
Definition KviSelectors.h:417
Definition KviSelectors.h:267
QColor m_memColor
Definition KviSelectors.h:276
QWidget * widgetToHighlight()
Definition KviSelectors.h:281
QString textForSearch()
Definition KviSelectors.h:280
QLabel * m_pLabel
Definition KviSelectors.h:274
QPushButton * m_pButton
Definition KviSelectors.h:277
~KviColorSelector()
Definition KviSelectors.h:271
QColor * m_pOption
Definition KviSelectors.h:275
QColor getColor()
Definition KviSelectors.h:283
Definition KviSelectors.h:256
~KviDirectorySelector()
Definition KviSelectors.h:260
Definition KviSelectors.h:215
void setTmpFile(QString &szFile)
Definition KviSelectors.h:241
QPushButton * m_pButton
Definition KviSelectors.h:233
QLabel * m_pLabel
Definition KviSelectors.h:231
void selectionChanged(const QString &szNewValue)
QString * m_pOption
Definition KviSelectors.h:234
~KviFileSelector()
Definition KviSelectors.h:220
QString m_szFilter
Definition KviSelectors.h:236
QLineEdit * m_pLineEdit
Definition KviSelectors.h:232
QGridLayout * m_Layout
Definition KviSelectors.h:237
QString tmpFile()
Definition KviSelectors.h:240
unsigned int m_uFlags
Definition KviSelectors.h:235
Flags
Definition KviSelectors.h:224
Definition KviSelectors.h:295
QString textForSearch()
Definition KviSelectors.h:308
QLabel * m_pLabel
Definition KviSelectors.h:302
QWidget * widgetToHighlight()
Definition KviSelectors.h:309
~KviFontSelector()
Definition KviSelectors.h:299
QPushButton * m_pButton
Definition KviSelectors.h:304
QFont * m_pOption
Definition KviSelectors.h:303
Definition KviSelectors.h:349
QMenu * m_pContextPopup
Definition KviSelectors.h:362
QLabel * m_pLabel
Definition KviSelectors.h:356
QPushButton * m_pButton
Definition KviSelectors.h:357
QMenu * m_pForePopup
Definition KviSelectors.h:363
unsigned int * m_pUBack
Definition KviSelectors.h:359
unsigned int m_uBack
Definition KviSelectors.h:361
unsigned int * m_pUFore
Definition KviSelectors.h:358
unsigned int m_uFore
Definition KviSelectors.h:360
QMenu * m_pBackPopup
Definition KviSelectors.h:364
Definition KviSelectors.h:129
QLineEdit * m_pLineEdit
Definition KviSelectors.h:136
QCheckBox * m_pCheckBox
Definition KviSelectors.h:137
Definition KviSelectors.h:103
QLabel * m_pLabel
Definition KviSelectors.h:110
void setValidator(QValidator *v)
Definition KviSelectors.h:118
QString textForSearch()
Definition KviSelectors.h:111
void setMinimumLabelWidth(unsigned int uWidth)
Definition KviSelectors.h:119
QWidget * widgetToHighlight()
Definition KviSelectors.h:112
QLineEdit * m_pLineEdit
Definition KviSelectors.h:113
QCheckBox * m_pCheckBox
Definition KviSelectors.h:114
QString * m_pOption
Definition KviSelectors.h:115
Definition KviSelectors.h:149
QLabel * m_pLabPixmap
Definition KviSelectors.h:156
Definition KviSelectors.h:163
KviPixmap m_localPixmap
Definition KviSelectors.h:175
QCheckBox * m_pCheckBox
Definition KviSelectors.h:170
QLabel * m_pFileNameLabel
Definition KviSelectors.h:171
KviPixmap * m_pOption
Definition KviSelectors.h:174
KviPixmapPreview * m_pPreview
Definition KviSelectors.h:172
QPushButton * m_pChooseButton
Definition KviSelectors.h:173
Definition KviPixmap.h:35
Definition KviSelectors.h:47
virtual ~KviSelectorInterface()
Definition KviSelectors.h:50
virtual void commit()
Definition KviSelectors.h:53
KviSelectorInterface()
Definition KviSelectors.h:49
virtual QString textForSearch()
Definition KviSelectors.h:54
virtual QWidget * widgetToHighlight()
Definition KviSelectors.h:55
Definition KviSelectors.h:379
QPushButton * m_pPlayButton
Definition KviSelectors.h:386
Definition KviSelectors.h:319
QLineEdit * m_pLineEdit
Definition KviSelectors.h:328
QString textForSearch()
Definition KviSelectors.h:335
QPushButton * m_pAddButton
Definition KviSelectors.h:329
QLabel * m_pLabel
Definition KviSelectors.h:326
QPushButton * m_pRemoveButton
Definition KviSelectors.h:330
KviTalListWidget * m_pListWidget
Definition KviSelectors.h:327
QWidget * widgetToHighlight()
Definition KviSelectors.h:336
QStringList * m_pOption
Definition KviSelectors.h:331
Definition KviSelectors.h:78
QString currentText()
Definition KviSelectors.h:97
QString textForSearch()
Definition KviSelectors.h:94
QLineEdit * m_pLineEdit
Definition KviSelectors.h:86
void setMinimumLabelWidth(unsigned int uWidth)
Definition KviSelectors.h:91
QWidget * widgetToHighlight()
Definition KviSelectors.h:95
QLabel * m_pLabel
Definition KviSelectors.h:85
QLineEdit * lineEdit()
Definition KviSelectors.h:96
QString * m_pOption
Definition KviSelectors.h:87
void setValidator(QValidator *v)
Definition KviSelectors.h:90
Toolkit Abstraction Layer: hbox class.
Definition KviTalHBox.h:44
Definition KviTalListWidget.h:35
Toolkit Abstraction Layer: vbox class.
Definition KviTalVBox.h:44
Definition KviSelectors.h:187
QLabel * m_pLabel
Definition KviSelectors.h:195
QSpinBox * m_pSpinBox
Definition KviSelectors.h:197
unsigned int m_uDefault
Definition KviSelectors.h:201
QString textForSearch()
Definition KviSelectors.h:205
unsigned int m_uLowBound
Definition KviSelectors.h:199
bool m_bIsShortInt
Definition KviSelectors.h:202
~KviUIntSelector()
Definition KviSelectors.h:192
QWidget * widgetToHighlight()
Definition KviSelectors.h:206
unsigned int m_uHighBound
Definition KviSelectors.h:200
unsigned int * m_pOption
Definition KviSelectors.h:198
#define v
Definition detector.cpp:87
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127