KVIrc 5.2.4
Developer APIs
KviMaskEditor.h
Go to the documentation of this file.
1#ifndef _KVI_MASKEDITOR_H_
2#define _KVI_MASKEDITOR_H_
3//=============================================================================
4//
5// File : KviMaskEditor.h
6// Creation date : Tue Aug 30 2000 12:20:10 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 "KviWindowToolWidget.h"
29#include "KviIconManager.h"
30
31#include <QDialog>
32#include <QString>
33#include <QTreeWidget>
34#include <QWidget>
35
36#include <vector>
37
39class KviMaskEditor;
40class QLineEdit;
41class QPushButton;
42
44{
45 QString szMask;
46 QString szSetBy;
47 unsigned int uSetAt;
48};
49
50class KviMaskItem : public QTreeWidgetItem
51{
52public:
53 KviMaskItem(QTreeWidget * parent, KviMaskEntry * entry);
55
56 KviMaskEntry * mask() { return &m_Mask; };
57protected:
59 bool operator<(const QTreeWidgetItem & other) const
60 {
61 // This is the sorting function for KviMaskItem
62 switch(treeWidget()->sortColumn())
63 {
64 case 0:
65 return m_Mask.szMask < ((KviMaskItem *)&other)->mask()->szMask;
66 break;
67 case 1:
68 return m_Mask.szSetBy < ((KviMaskItem *)&other)->mask()->szSetBy;
69 break;
70 case 2:
71 return m_Mask.uSetAt < ((KviMaskItem *)&other)->mask()->uSetAt;
72 break;
73 }
74 return false; //make compiler happy
75 }
76};
77
78class KviMaskInputDialog : public QDialog
79{
80 Q_OBJECT
81public:
82 KviMaskInputDialog(const QString & szMask, KviMaskEditor * pEditor, KviChannelWindow * pChannel);
84
85protected:
86 QLineEdit * m_pEdit;
87 QPushButton * m_pOkButton;
88 QPushButton * m_pChancelButton;
89 QString m_szOldMask;
92protected slots:
93 void accept() override;
94};
95
97{
98 Q_OBJECT
99public:
100 KviMaskEditor(QWidget * par, KviChannelWindow * pChannel, KviWindowToolPageButton * button, std::vector<KviMaskEntry *> maskList,
101 char cMode, const char * name);
103
104protected:
106 QTreeWidget * m_pMaskBox;
107 QPushButton * m_pRemoveMask;
108 QPushButton * m_pAddButton;
109 QLineEdit * m_pSearch;
112
113public:
114 char flag() { return m_cFlag; };
115 void addMask(KviMaskEntry * e);
116 void removeMask(KviMaskEntry * e);
117 void clear();
118protected slots:
119 void removeClicked();
120 void addClicked();
121 void itemDoubleClicked(QTreeWidgetItem *, int);
122 void searchTextChanged(const QString &);
123 void updateOpStatus();
124signals:
125 void removeMasks(KviMaskEditor *, std::vector<KviMaskEntry *>);
126};
127
128#endif //_KVI_MASKEDITOR_H_
Icon manager.
btnDict clear()
The class which manages a channel.
Definition KviChannelWindow.h:108
SmallIcon
Contains all KVIrc's small icons.
Definition KviIconManager.h:170
Definition KviMaskEditor.h:97
KviIconManager::SmallIcon m_eIcon
Definition KviMaskEditor.h:111
void removeMasks(KviMaskEditor *, std::vector< KviMaskEntry * >)
char m_cFlag
Definition KviMaskEditor.h:110
QLineEdit * m_pSearch
Definition KviMaskEditor.h:109
QPushButton * m_pAddButton
Definition KviMaskEditor.h:108
QPushButton * m_pRemoveMask
Definition KviMaskEditor.h:107
KviChannelWindow * m_pChannel
Definition KviMaskEditor.h:105
QTreeWidget * m_pMaskBox
Definition KviMaskEditor.h:106
char flag()
Definition KviMaskEditor.h:114
Definition KviMaskEditor.h:79
QLineEdit * m_pEdit
Definition KviMaskEditor.h:86
KviMaskEditor * m_pEditor
Definition KviMaskEditor.h:91
QPushButton * m_pChancelButton
Definition KviMaskEditor.h:88
void accept() override
Definition KviMaskEditor.cpp:101
KviChannelWindow * m_pChannel
Definition KviMaskEditor.h:90
QString m_szOldMask
Definition KviMaskEditor.h:89
QPushButton * m_pOkButton
Definition KviMaskEditor.h:87
Definition KviMaskEditor.h:51
bool operator<(const QTreeWidgetItem &other) const
Definition KviMaskEditor.h:59
KviMaskEntry * mask()
Definition KviMaskEditor.h:56
KviMaskEntry m_Mask
Definition KviMaskEditor.h:58
Definition KviWindowToolWidget.h:47
Definition KviWindowToolWidget.h:36
#define e
Definition detector.cpp:70
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
Definition KviMaskEditor.h:44
QString szMask
Definition KviMaskEditor.h:45
QString szSetBy
Definition KviMaskEditor.h:46
unsigned int uSetAt
Definition KviMaskEditor.h:47