digiKam
Loading...
Searching...
No Matches
dxmlguiwindow_p.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 : 2013-04-29
7 * Description : digiKam XML GUI window - Private container.
8 *
9 * SPDX-FileCopyrightText: 2013-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17#include "dxmlguiwindow.h"
18
19// C++ includes
20
21#include <cmath>
22
23// Qt includes
24
25#include <QString>
26#include <QList>
27#include <QMap>
28#include <QVBoxLayout>
29#include <QCheckBox>
30#include <QToolButton>
31#include <QEvent>
32#include <QHoverEvent>
33#include <QApplication>
34#include <QKeySequence>
35#include <QMenuBar>
36#include <QStatusBar>
37#include <QScreen>
38#include <QMenu>
39#include <QUrl>
40#include <QDomDocument>
41#include <QUrlQuery>
42#include <QIcon>
43#include <QPushButton>
44#include <QDir>
45#include <QFileInfo>
46#include <QResource>
47#include <QStandardPaths>
48#include <QDesktopServices>
49#include <QDialogButtonBox>
50
51// KDE includes
52
53#if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
54# pragma GCC diagnostic push
55# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
56#endif
57
58#if defined(Q_CC_CLANG)
59# pragma clang diagnostic push
60# pragma clang diagnostic ignored "-Wdeprecated-declarations"
61#endif
62
63#include <kconfiggroup.h>
64#include <ktogglefullscreenaction.h>
65#include <ktoolbar.h>
66#include <ktoggleaction.h>
67#include <kstandardaction.h>
68#include <kactioncollection.h>
69#include <klocalizedstring.h>
70#include <kwindowconfig.h>
71#include <ksharedconfig.h>
72#include <kshortcutsdialog.h>
73#include <kedittoolbar.h>
74#include <kxmlguifactory.h>
75#include <kconfigwidgets_version.h>
76
77#ifdef HAVE_KNOTIFYCONFIG
78# include <knotifyconfigwidget.h>
79#endif
80
81#if KCONFIGWIDGETS_VERSION > QT_VERSION_CHECK(5, 80, 0)
82# include <khamburgermenu.h>
83#endif
84
85// Restore warnings
86#if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
87# pragma GCC diagnostic pop
88#endif
89
90#if defined(Q_CC_CLANG)
91# pragma clang diagnostic pop
92#endif
93
94// Local includes
95
96#include "digikam_debug.h"
97#include "digikam_config.h"
98#include "digikam_globals.h"
99#include "daboutdata.h"
100#include "dpluginloader.h"
101#include "solidhardwaredlg.h"
102#include "webbrowserdlg.h"
103
104namespace Digikam
105{
106
107class Q_DECL_HIDDEN DXmlGuiWindow::Private
108{
109public:
110
111 Private() = default;
112
113public:
114
118 bool fullScreenHideToolBars = false;
119
123 bool fullScreenHideThumbBar = true;
124
128 bool fullScreenHideSideBars = false;
129
133 bool fullScreenHideStatusBar = false;
134
138 int fsOptions = FS_NONE;
139
143 KToggleFullScreenAction* fullScreenAction = nullptr;
144
148 QWidget* fullScreenParent = nullptr;
149
153 QToolButton* fullScreenBtn = nullptr;
154
158 bool dirtyMainToolBar = false;
159
163 QMap<KToolBar*, bool> toolbarsVisibility;
164
168 bool thumbbarVisibility = true;
169
173 bool menubarVisibility = true;
174
178 bool statusbarVisibility = true;
179
180 // Common Help actions
181 QAction* dbStatAction = nullptr;
182 QAction* libsInfoAction = nullptr;
183 QAction* showMenuBarAction = nullptr;
184 QAction* showStatusBarAction = nullptr;
185 DAboutData* about = nullptr;
186
187#if KCONFIGWIDGETS_VERSION > QT_VERSION_CHECK(5, 80, 0)
188
189 KHamburgerMenu* hamburgerMenu = nullptr;
190
191#endif
192
193 DLogoAction* anim = nullptr;
194
196
198};
199
200} // namespace Digikam
Definition daboutdata.h:35
Definition dlogoaction.h:29
Definition dxmlguiwindow_p.h:108
QString configGroupName
Definition dxmlguiwindow_p.h:195
QString handbookSection
Definition dxmlguiwindow_p.h:197
QMap< KToolBar *, bool > toolbarsVisibility
Definition dxmlguiwindow_p.h:163
Definition dxmlguiwindow.h:84
Definition datefolderview.cpp:34
@ FS_NONE
No full-screen options.
Definition dxmlguiwindow.h:54