KVIrc 5.2.6
Developer APIs
OptionsDialog.h
Go to the documentation of this file.
1#ifndef _DIALOG_H_
2#define _DIALOG_H_
3//=============================================================================
4//
5// File : OptionsDialog.h
6// Created on Fri 10 Feb 2006 18:52:18 by Szymon Stefanek
7// Based on dlg_options.h: Tue Jun 11 2000 02:39:12 by Szymon Stefanek
8//
9// This file is part of the KVIrc IRC Client distribution
10// Copyright (C) 2000-2010 Szymon Stefanek <pragma at kvirc dot net>
11//
12// This program is FREE software. You can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation; either version 2
15// of the License, or (at your option) any later version.
16//
17// This program is distributed in the HOPE that it will be USEFUL,
18// but WITHOUT ANY WARRANTY; without even the implied warranty of
19// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20// See the GNU General Public License for more details.
21//
22// You should have received a copy of the GNU General Public License
23// along with this program. If not, write to the Free Software Foundation,
24// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25//
26//=============================================================================
27
29
30#include "KviOptionsWidget.h"
31#include <QTreeWidget>
32
33#include <QWidget>
34#include <QDialog>
35#include <QStringList>
36#include <QToolButton>
37#include <QPainter>
38
39class QLabel;
40class QPushButton;
41class QLineEdit;
42class QStackedWidget;
43
45{
46 Q_OBJECT
47public:
48 OptionsDialogFrontWidget(QWidget * parent, const QString & szText);
50};
51
63
64class OptionsDialog : public QDialog
65{
66 Q_OBJECT
67public:
68 OptionsDialog(QWidget * par, const QString & szGroup, bool bModal);
70
71private:
72 QTreeWidget * m_pTreeWidget;
74 QStackedWidget * m_pWidgetStack;
76 QString m_szGroup;
77 QLineEdit * m_pSearchLineEdit;
78 QToolButton * m_pSearchButton;
79
80private:
82 void fillTreeWidget(QTreeWidgetItem * p, KviPointerList<OptionsWidgetInstanceEntry> * l, const QString & szGroup, bool bNotContainedOnly = false);
83 //OptionsDialogTreeWidgetItem * showHiddenChildren(QTreeWidgetItem * p,KviPointerList<OptionsWidgetInstanceEntry> * l);
84 //OptionsDialogTreeWidgetItem * findItemByPage(OptionsDialogTreeWidgetItem *it,KviOptionsWidget * pPage);
85private slots:
86 void treeWidgetItemSelectionChanged(QTreeWidgetItem * it, QTreeWidgetItem * prev);
87 void applyClicked();
88 void okClicked();
89 void cancelClicked();
91 void searchClicked();
92 void searchLineEditTextChanged(const QString &);
93
94protected:
95 void apply(bool bDialogAboutToClose);
96 void closeEvent(QCloseEvent * e) override;
97 void keyPressEvent(QKeyEvent * e) override;
98 void showEvent(QShowEvent * e) override;
99 bool recursiveSearch(OptionsDialogTreeWidgetItem * pItem, const QStringList & lKeywords);
100 void clearSearch();
101 bool searchInSelectors(KviOptionsWidget * pWidget, const QStringList & lKeywords);
102
103public:
104 void search(const QString & szKeywords);
105 void search(const QStringList & lKeywords);
106};
107
108#endif //_DIALOG_H_
Definition KviOptionsWidget.h:40
KviOptionsWidget(QWidget *parent, const char *name=nullptr, bool bSunken=true)
Definition KviOptionsWidget.cpp:43
A template double linked list of pointers.
Definition KviPointerList.h:371
Definition OptionsDialog.h:45
OptionsDialogFrontWidget(QWidget *parent, const QString &szText)
Definition OptionsDialog.cpp:62
Definition OptionsDialog.h:53
OptionsDialogTreeWidgetItem(QTreeWidget *parent, OptionsWidgetInstanceEntry *e)
Definition OptionsDialog.cpp:76
OptionsWidgetInstanceEntry * m_pInstanceEntry
Definition OptionsDialog.h:60
KviOptionsWidget * m_pOptionsWidget
Definition OptionsDialog.h:61
QLineEdit * m_pSearchLineEdit
Definition OptionsDialog.h:77
QString m_szGroup
Definition OptionsDialog.h:76
void clearSearch()
Definition OptionsDialog.cpp:474
bool recursiveSearch(OptionsDialogTreeWidgetItem *pItem, const QStringList &lKeywords)
Definition OptionsDialog.cpp:374
OptionsDialogFrontWidget * m_pFrontWidget
Definition OptionsDialog.h:75
void applyClicked()
Definition OptionsDialog.cpp:596
void searchClicked()
Definition OptionsDialog.cpp:488
void showEvent(QShowEvent *e) override
Definition OptionsDialog.cpp:290
QToolButton * m_pSearchButton
Definition OptionsDialog.h:78
void okClicked()
Definition OptionsDialog.cpp:640
bool searchInSelectors(KviOptionsWidget *pWidget, const QStringList &lKeywords)
Definition OptionsDialog.cpp:323
void keyPressEvent(QKeyEvent *e) override
Definition OptionsDialog.cpp:679
void fillTreeWidget(QTreeWidgetItem *p, KviPointerList< OptionsWidgetInstanceEntry > *l, const QString &szGroup, bool bNotContainedOnly=false)
Definition OptionsDialog.cpp:497
QStackedWidget * m_pWidgetStack
Definition OptionsDialog.h:74
void pageWantsToSwitchToAdvancedPage(KviOptionsWidget *pPage)
Definition OptionsDialog.cpp:591
void treeWidgetItemSelectionChanged(QTreeWidgetItem *it, QTreeWidgetItem *prev)
Definition OptionsDialog.cpp:562
void search(const QString &szKeywords)
Definition OptionsDialog.cpp:468
OptionsDialog(QWidget *par, const QString &szGroup, bool bModal)
Definition OptionsDialog.cpp:99
void searchLineEditTextChanged(const QString &)
Definition OptionsDialog.cpp:318
void closeEvent(QCloseEvent *e) override
Definition OptionsDialog.cpp:651
QTreeWidget * m_pTreeWidget
Definition OptionsDialog.h:72
void apply(bool bDialogAboutToClose)
Definition OptionsDialog.cpp:601
QLabel * m_pCategoryLabel
Definition OptionsDialog.h:73
void cancelClicked()
Definition OptionsDialog.cpp:646
void recursiveCommit(OptionsDialogTreeWidgetItem *it)
Definition OptionsDialog.cpp:657
~OptionsDialog()
Definition OptionsDialog.cpp:282
#define e
Definition detector.cpp:70
#define l
Definition detector.cpp:77
#define p
Definition detector.cpp:81
Definition OptionsInstanceManager.h:43