digiKam
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  * Copyright (C) 2013-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option)
15  * 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. See the
20  * GNU General Public License for more details.
21  *
22  * ============================================================ */
23 
24 #ifndef DIGIKAM_DXML_GUI_WINDOW_P_H
25 #define DIGIKAM_DXML_GUI_WINDOW_P_H
26 
27 #include "dxmlguiwindow.h"
28 
29 // Qt includes
30 
31 #include <QString>
32 #include <QList>
33 #include <QMap>
34 #include <QVBoxLayout>
35 #include <QCheckBox>
36 #include <QToolButton>
37 #include <QEvent>
38 #include <QHoverEvent>
39 #include <QApplication>
40 #include <QKeySequence>
41 #include <QMenuBar>
42 #include <QStatusBar>
43 #include <QScreen>
44 #include <QMenu>
45 #include <QUrl>
46 #include <QDomDocument>
47 #include <QUrlQuery>
48 #include <QIcon>
49 #include <QDir>
50 #include <QFileInfo>
51 #include <QResource>
52 #include <QStandardPaths>
53 #include <QDesktopServices>
54 
55 // KDE includes
56 
57 #if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
58 # pragma GCC diagnostic push
59 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
60 #endif
61 
62 #if defined(Q_CC_CLANG)
63 # pragma clang diagnostic push
64 # pragma clang diagnostic ignored "-Wdeprecated-declarations"
65 #endif
66 
67 #include <kconfiggroup.h>
68 #include <ktogglefullscreenaction.h>
69 #include <ktoolbar.h>
70 #include <ktoggleaction.h>
71 #include <kstandardaction.h>
72 #include <kactioncollection.h>
73 #include <klocalizedstring.h>
74 #include <kwindowconfig.h>
75 #include <ksharedconfig.h>
76 #include <kshortcutsdialog.h>
77 #include <kedittoolbar.h>
78 #include <kxmlguifactory.h>
79 #include <kconfigwidgets_version.h>
80 
81 #ifdef HAVE_KNOTIFYCONFIG
82 # include <knotifyconfigwidget.h>
83 #endif
84 
85 #if KCONFIGWIDGETS_VERSION > QT_VERSION_CHECK(5, 80, 0)
86 # include <khamburgermenu.h>
87 #endif
88 
89 // Restore warnings
90 #if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
91 # pragma GCC diagnostic pop
92 #endif
93 
94 #if defined(Q_CC_CLANG)
95 # pragma clang diagnostic pop
96 #endif
97 
98 // Local includes
99 
100 #include "digikam_debug.h"
101 #include "digikam_globals.h"
102 #include "daboutdata.h"
103 #include "dpluginloader.h"
104 #include "solidhardwaredlg.h"
105 
106 #ifdef HAVE_QWEBENGINE
107 # include "webbrowserdlg.h"
108 #endif
109 
110 namespace Digikam
111 {
112 
113 class Q_DECL_HIDDEN DXmlGuiWindow::Private
114 {
115 public:
116 
117  explicit Private()
118  : fullScreenHideToolBars (false),
119  fullScreenHideThumbBar (true),
120  fullScreenHideSideBars (false),
121  fullScreenHideStatusBar (false),
122  fsOptions (FS_NONE),
123  fullScreenAction (nullptr),
124  fullScreenParent (nullptr),
125  fullScreenBtn (nullptr),
126  dirtyMainToolBar (false),
127  thumbbarVisibility (true),
128  menubarVisibility (true),
129  statusbarVisibility (true),
130  dbStatAction (nullptr),
131  libsInfoAction (nullptr),
132  showMenuBarAction (nullptr),
133  showStatusBarAction (nullptr),
134  about (nullptr),
135 
136 #if KCONFIGWIDGETS_VERSION > QT_VERSION_CHECK(5, 80, 0)
137  hamburgerMenu (nullptr),
138 #endif
139  anim (nullptr)
140  {
141  }
142 
143 public:
144 
149 
154 
159 
164 
169 
173  KToggleFullScreenAction* fullScreenAction;
174 
179 
183  QToolButton* fullScreenBtn;
184 
189 
193  QMap<KToolBar*, bool> toolbarsVisibility;
194 
199 
204 
209 
210  // Common Help actions
211  QAction* dbStatAction;
212  QAction* libsInfoAction;
216 
217 #if KCONFIGWIDGETS_VERSION > QT_VERSION_CHECK(5, 80, 0)
218  KHamburgerMenu* hamburgerMenu;
219 #endif
220 
222 
224 };
225 
226 } // namespace Digikam
227 
228 #endif // DIGIKAM_DXML_GUI_WINDOW_P_H
Definition: daboutdata.h:45
Definition: dlogoaction.h:39
Definition: dxmlguiwindow_p.h:114
bool thumbbarVisibility
Definition: dxmlguiwindow_p.h:198
bool menubarVisibility
Definition: dxmlguiwindow_p.h:203
DLogoAction * anim
Definition: dxmlguiwindow_p.h:221
int fsOptions
Definition: dxmlguiwindow_p.h:168
QString configGroupName
Definition: dxmlguiwindow_p.h:223
DAboutData * about
Definition: dxmlguiwindow_p.h:215
bool fullScreenHideToolBars
Definition: dxmlguiwindow_p.h:148
QAction * showStatusBarAction
Definition: dxmlguiwindow_p.h:214
bool dirtyMainToolBar
Definition: dxmlguiwindow_p.h:188
bool fullScreenHideThumbBar
Definition: dxmlguiwindow_p.h:153
KToggleFullScreenAction * fullScreenAction
Definition: dxmlguiwindow_p.h:173
Private()
Definition: dxmlguiwindow_p.h:117
QWidget * fullScreenParent
Definition: dxmlguiwindow_p.h:178
bool statusbarVisibility
Definition: dxmlguiwindow_p.h:208
bool fullScreenHideSideBars
Definition: dxmlguiwindow_p.h:158
bool fullScreenHideStatusBar
Definition: dxmlguiwindow_p.h:163
QAction * libsInfoAction
Definition: dxmlguiwindow_p.h:212
QAction * dbStatAction
Definition: dxmlguiwindow_p.h:211
QToolButton * fullScreenBtn
Definition: dxmlguiwindow_p.h:183
QAction * showMenuBarAction
Definition: dxmlguiwindow_p.h:213
QMap< KToolBar *, bool > toolbarsVisibility
Definition: dxmlguiwindow_p.h:193
Definition: dxmlguiwindow.h:98
Definition: datefolderview.cpp:43
@ FS_NONE
No full-screen options.
Definition: dxmlguiwindow.h:64