digiKam
Loading...
Searching...
No Matches
dconfigdlg.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-11-03
7 * Description : A dialog base class which can handle multiple pages.
8 *
9 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 1999-2001 by Mirko Boehm <mirko at kde dot org>
11 * SPDX-FileCopyrightText: 1999-2001 by Espen Sand <espen at kde dot org>
12 * SPDX-FileCopyrightText: 1999-2001 by Holger Freyther <freyther at kde dot org>
13 * SPDX-FileCopyrightText: 2005-2006 by Olivier Goffart <ogoffart at kde dot org>
14 * SPDX-FileCopyrightText: 2006 by Tobias Koenig <tokoe at kde dot org>
15 *
16 * SPDX-License-Identifier: GPL-2.0-or-later
17 *
18 * ============================================================ */
19
20#pragma once
21
22// Qt includes
23
24#include <QDialog>
25#include <QDialogButtonBox>
26
27// Local includes
28
29#include "dconfigdlgwidgets.h"
30#include "digikam_export.h"
31
32namespace Digikam
33{
34
35class DConfigDlgPrivate;
36
48class DIGIKAM_EXPORT DConfigDlg : public QDialog
49{
50 Q_OBJECT
51 Q_DECLARE_PRIVATE(DConfigDlg)
52
53public:
54
71 {
72 Auto = DConfigDlgView::Auto,
73 Plain = DConfigDlgView::Plain,
74 List = DConfigDlgView::List,
75 Tree = DConfigDlgView::Tree,
76 Tabbed = DConfigDlgView::Tabbed
77 };
78
79public:
80
84 explicit DConfigDlg(QWidget* const parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
85
89 ~DConfigDlg() override;
90
94 void setFaceType(FaceType faceType);
95
100 void setConfigGroup(const QString& group);
101
110 DConfigDlgWdgItem* addPage(QWidget* const widget, const QString& name);
111
117 void addPage(DConfigDlgWdgItem* const item);
118
129 DConfigDlgWdgItem* insertPage(DConfigDlgWdgItem* const before, QWidget* const widget, const QString& name);
130
139 void insertPage(DConfigDlgWdgItem* const before, DConfigDlgWdgItem* const item);
140
150 DConfigDlgWdgItem* addSubPage(DConfigDlgWdgItem* const parent, QWidget* const widget, const QString& name);
151
159 void addSubPage(DConfigDlgWdgItem* const parent, DConfigDlgWdgItem* const item);
160
164 void removePage(DConfigDlgWdgItem* const item);
165
170 void setCurrentPage(DConfigDlgWdgItem* const item);
171
176 DConfigDlgWdgItem* currentPage() const;
177
181 void setStandardButtons(QDialogButtonBox::StandardButtons buttons);
182
187 QPushButton* button(QDialogButtonBox::StandardButton which) const;
188
192 void addActionButton(QAbstractButton* const button);
193
194Q_SIGNALS:
195
202
209
210protected:
211
218 DConfigDlg(DConfigDlgWdg* const widget, QWidget* const parent, Qt::WindowFlags flags = Qt::WindowFlags());
219 DConfigDlg(DConfigDlgPrivate& dd, DConfigDlgWdg* const widget, QWidget* const parent, Qt::WindowFlags flags = Qt::WindowFlags());
220
224 DConfigDlgWdg* pageWidget();
225
229 const DConfigDlgWdg* pageWidget() const;
230
239 void setPageWidget(DConfigDlgWdg* const widget);
240
244 QDialogButtonBox* buttonBox();
245
249 const QDialogButtonBox* buttonBox() const;
250
259 void setButtonBox(QDialogButtonBox* const box);
260
261protected:
262
263 void showEvent(QShowEvent*) override;
264
265protected:
266
267 DConfigDlgPrivate* const d_ptr = nullptr;
268};
269
270} // namespace Digikam
Definition dconfigdlgmodels.h:95
Page widget with many layouts (faces).
Definition dconfigdlgwidgets.h:38
A dialog base class which can handle multiple pages.
Definition dconfigdlg.h:49
void currentPageChanged(DConfigDlgWdgItem *current, DConfigDlgWdgItem *before)
void pageRemoved(DConfigDlgWdgItem *page)
FaceType
Definition dconfigdlg.h:71
Definition datefolderview.cpp:34