KVIrc 5.2.0
Developer APIs
RegisteredUsersDialog.h
Go to the documentation of this file.
1#ifndef _DIALOG_H_
2#define _DIALOG_H_
3//=============================================================================
4//
5// File : RegisteredUsersDialog.h
6// Creation date : Sun Dec 24 2000 15:16:17 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 "KviCString.h"
29#include "KviSelectors.h"
30#include "KviPointerHashTable.h"
31#include <QTreeWidget>
32#include "KviTalListWidget.h"
33
34#include <QWidget>
35#include <QLineEdit>
36#include <QPushButton>
37#include <QStyledItemDelegate>
38#include <QTextDocument>
39#include <QMenu>
40
41class KviRegisteredUsersListView : public QTreeWidget
42{
43 Q_OBJECT
44public:
47
48protected:
49 void mousePressEvent(QMouseEvent * e) override;
50signals:
51 void rightButtonPressed(QTreeWidgetItem *, QPoint);
52};
53
54class RegisteredUsersDialogItemDelegate : public QStyledItemDelegate
55{
56public:
58 : QStyledItemDelegate(pWidget){};
60 QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const override;
61 void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const override;
62};
63
64class RegisteredUsersDialogItemBase : public QTreeWidgetItem
65{
66public:
67 enum Types
68 {
70 Group
71 };
72
73protected:
77 : QTreeWidgetItem(par), m_iType(type){};
79
80private:
82
83public:
85};
86
103
105{
107
108protected:
110 QTextDocument m_pText;
111
112public:
113 RegisteredUsersDialogItem(QTreeWidgetItem * par, KviRegisteredUser * u);
115
116public:
119 virtual QString key(int, bool) const;
120};
121
122class RegisteredUsersDialog : public QWidget
123{
124 Q_OBJECT
125public:
126 RegisteredUsersDialog(QWidget * par = nullptr);
128
129public:
131 QPushButton * m_pAddButton;
132 QPushButton * m_pWizardAddButton;
133 QPushButton * m_pRemoveButton;
134 QPushButton * m_pEditButton;
135 QPushButton * m_pImportButton;
136 QPushButton * m_pExportButton;
137 QPushButton * m_pAddGroupButton;
138 QPushButton * m_pSelectAllButton;
139
140protected:
141 void fillList();
143 void editGroup(KviRegisteredUserGroup * group);
144 void closeEvent(QCloseEvent *) override;
145protected slots:
146 void cancelClicked();
147 void okClicked();
148 void addClicked();
149 void removeClicked();
150 void editClicked();
151 void selectionChanged();
152 void importClicked();
153 void exportClicked();
154 void addWizardClicked();
155 void addGroupClicked();
156 void selectAllClicked();
157 void itemPressed(QTreeWidgetItem * it, int c);
158 void itemDoubleClicked(QTreeWidgetItem * it, int);
159 void rightButtonPressed(QTreeWidgetItem *, QPoint);
160 void moveToGroupMenuClicked(QAction * pAction);
161};
162
163#endif
Pointer Hash Table.
Definition KviRegisteredUserGroup.h:35
const QString & name()
Definition KviRegisteredUserGroup.h:47
Definition KviRegisteredUser.h:40
Definition RegisteredUsersDialog.h:42
void rightButtonPressed(QTreeWidgetItem *, QPoint)
~KviRegisteredUsersListView()
Definition RegisteredUsersDialog.h:46
void mousePressEvent(QMouseEvent *e) override
Definition RegisteredUsersDialog.cpp:103
Definition RegisteredUsersDialog.h:65
RegisteredUsersDialogItemBase(Types type, KviRegisteredUsersListView *par)
Definition RegisteredUsersDialog.h:74
~RegisteredUsersDialogItemBase()
Definition RegisteredUsersDialog.h:78
Types
Definition RegisteredUsersDialog.h:68
@ Group
Definition RegisteredUsersDialog.h:70
@ User
Definition RegisteredUsersDialog.h:69
RegisteredUsersDialogItemBase(Types type, QTreeWidgetItem *par)
Definition RegisteredUsersDialog.h:76
RegisteredUsersDialogItemBase::Types type()
Definition RegisteredUsersDialog.h:84
RegisteredUsersDialogItemBase::Types m_iType
Definition RegisteredUsersDialog.h:81
Definition RegisteredUsersDialog.h:55
RegisteredUsersDialogItemDelegate(KviRegisteredUsersListView *pWidget=nullptr)
Definition RegisteredUsersDialog.h:57
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Definition RegisteredUsersDialog.cpp:159
~RegisteredUsersDialogItemDelegate()
Definition RegisteredUsersDialog.h:59
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
Definition RegisteredUsersDialog.cpp:208
Definition RegisteredUsersDialog.h:105
virtual QString key(int, bool) const
Definition RegisteredUsersDialog.cpp:154
KviRegisteredUser * m_pUser
Definition RegisteredUsersDialog.h:109
void setUser(KviRegisteredUser *u)
Definition RegisteredUsersDialog.h:118
QTextDocument m_pText
Definition RegisteredUsersDialog.h:110
KviRegisteredUser * user()
Definition RegisteredUsersDialog.h:117
Definition RegisteredUsersDialog.h:123
void importClicked()
Definition RegisteredUsersDialog.cpp:852
void fillList()
Definition RegisteredUsersDialog.cpp:519
KviRegisteredUsersListView * m_pListView
Definition RegisteredUsersDialog.h:130
QPushButton * m_pSelectAllButton
Definition RegisteredUsersDialog.h:138
QPushButton * m_pEditButton
Definition RegisteredUsersDialog.h:134
void exportClicked()
Definition RegisteredUsersDialog.cpp:707
QPushButton * m_pImportButton
Definition RegisteredUsersDialog.h:135
void addClicked()
Definition RegisteredUsersDialog.cpp:583
void selectionChanged()
Definition RegisteredUsersDialog.cpp:688
void moveToGroupMenuClicked(QAction *pAction)
Definition RegisteredUsersDialog.cpp:503
void addWizardClicked()
Definition RegisteredUsersDialog.cpp:598
QPushButton * m_pAddGroupButton
Definition RegisteredUsersDialog.h:137
~RegisteredUsersDialog()
Definition RegisteredUsersDialog.cpp:339
void okClicked()
Definition RegisteredUsersDialog.cpp:569
void addGroupClicked()
Definition RegisteredUsersDialog.cpp:425
QPushButton * m_pAddButton
Definition RegisteredUsersDialog.h:131
void rightButtonPressed(QTreeWidgetItem *, QPoint)
Definition RegisteredUsersDialog.cpp:478
void editItem(RegisteredUsersDialogItem *i)
Definition RegisteredUsersDialog.cpp:646
QPushButton * m_pRemoveButton
Definition RegisteredUsersDialog.h:133
void editClicked()
Definition RegisteredUsersDialog.cpp:629
void editGroup(KviRegisteredUserGroup *group)
Definition RegisteredUsersDialog.cpp:438
void itemDoubleClicked(QTreeWidgetItem *it, int)
Definition RegisteredUsersDialog.cpp:409
void closeEvent(QCloseEvent *) override
Definition RegisteredUsersDialog.cpp:561
void selectAllClicked()
Definition RegisteredUsersDialog.cpp:847
QPushButton * m_pWizardAddButton
Definition RegisteredUsersDialog.h:132
void removeClicked()
Definition RegisteredUsersDialog.cpp:611
void cancelClicked()
Definition RegisteredUsersDialog.cpp:577
void itemPressed(QTreeWidgetItem *it, int c)
Definition RegisteredUsersDialog.cpp:355
QPushButton * m_pExportButton
Definition RegisteredUsersDialog.h:136
Definition RegisteredUsersDialog.h:88
KviRegisteredUserGroup * m_pGroup
Definition RegisteredUsersDialog.h:90
~RegisteredUsersGroupItem()
Definition RegisteredUsersDialog.h:98
KviRegisteredUserGroup * group()
Definition RegisteredUsersDialog.h:101
RegisteredUsersGroupItem(KviRegisteredUsersListView *par, KviRegisteredUserGroup *g)
Definition RegisteredUsersDialog.h:93
#define i
Definition detector.cpp:74
#define g
Definition detector.cpp:72
#define u
Definition detector.cpp:86
#define e
Definition detector.cpp:70