digiKam
lighttablewindow_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 : 2007-03-05
7  * Description : digiKam light table GUI
8  *
9  * Copyright (C) 2007-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_LIGHT_TABLE_WINDOW_PRIVATE_H
25 #define DIGIKAM_LIGHT_TABLE_WINDOW_PRIVATE_H
26 
27 #include "lighttablewindow.h"
28 
29 // Qt includes
30 
31 #include <QApplication>
32 #include <QFrame>
33 #include <QHBoxLayout>
34 #include <QVBoxLayout>
35 #include <QAction>
36 #include <QMenuBar>
37 #include <QStatusBar>
38 #include <QMenu>
39 #include <QSplitter>
40 
41 // KDE includes
42 
43 #if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
44 # pragma GCC diagnostic push
45 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
46 #endif
47 
48 #if defined(Q_CC_CLANG)
49 # pragma clang diagnostic push
50 # pragma clang diagnostic ignored "-Wdeprecated-declarations"
51 #endif
52 
53 #include <klocalizedstring.h>
54 #include <kactioncollection.h>
55 #include <kconfiggroup.h>
56 #include <ksharedconfig.h>
57 
58 // Restore warnings
59 #if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
60 # pragma GCC diagnostic pop
61 #endif
62 
63 #if defined(Q_CC_CLANG)
64 # pragma clang diagnostic pop
65 #endif
66 
67 // Local includes
68 
69 #include "digikam_globals.h"
71 #include "statusprogressbar.h"
72 #include "dzoombar.h"
73 #include "lighttableview.h"
74 #include "lighttablethumbbar.h"
75 #include "thumbbardock.h"
76 #include "drawdecoder.h"
77 #include "digikam_debug.h"
78 #include "componentsinfodlg.h"
79 #include "digikamapp.h"
80 #include "thememanager.h"
81 #include "dimg.h"
82 #include "dio.h"
83 #include "dmetadata.h"
84 #include "dfileoperations.h"
85 #include "metaenginesettings.h"
86 #include "applicationsettings.h"
87 #include "albummanager.h"
88 #include "loadingcacheinterface.h"
89 #include "deletedialog.h"
90 #include "iccsettings.h"
91 #include "imagewindow.h"
92 #include "itemdescedittab.h"
93 #include "setup.h"
94 #include "syncjob.h"
95 #include "lighttablepreview.h"
96 #include "albummodel.h"
97 #include "albumfiltermodel.h"
98 #include "coredbchangesets.h"
99 #include "collectionscanner.h"
100 #include "scancontroller.h"
101 #include "tagsactionmngr.h"
102 #include "thumbnailsize.h"
103 #include "thumbnailloadthread.h"
104 #include "dexpanderbox.h"
105 #include "dbinfoiface.h"
106 
107 namespace Digikam
108 {
109 
110 class DAdjustableLabel;
111 
112 class Q_DECL_HIDDEN LightTableWindow::Private
113 {
114 
115 public:
116 
118  : autoLoadOnRightPanel (true),
119  autoSyncPreview (true),
120  fromLeftPreview (true),
121  setItemLeftAction (nullptr),
122  setItemRightAction (nullptr),
123  clearListAction (nullptr),
124  editItemAction (nullptr),
125  removeItemAction (nullptr),
126  fileDeleteAction (nullptr),
127  fileDeleteFinalAction (nullptr),
128  leftZoomPlusAction (nullptr),
129  leftZoomMinusAction (nullptr),
130  leftZoomTo100percents (nullptr),
131  leftZoomFitToWindowAction (nullptr),
132  rightZoomPlusAction (nullptr),
133  rightZoomMinusAction (nullptr),
134  rightZoomTo100percents (nullptr),
135  rightZoomFitToWindowAction (nullptr),
136  forwardAction (nullptr),
137  backwardAction (nullptr),
138  firstAction (nullptr),
139  lastAction (nullptr),
140  showBarAction (nullptr),
141  viewCMViewAction (nullptr),
142  syncPreviewAction (nullptr),
143  navigateByPairAction (nullptr),
144  clearOnCloseAction (nullptr),
145  leftFileName (nullptr),
146  rightFileName (nullptr),
147  hSplitter (nullptr),
148  barViewDock (nullptr),
149  thumbView (nullptr),
150  previewView (nullptr),
151  leftZoomBar (nullptr),
152  rightZoomBar (nullptr),
153  statusProgressBar (nullptr),
154  leftSideBar (nullptr),
155  rightSideBar (nullptr)
156  {
157  }
158 
159  void addPageUpDownActions(LightTableWindow* const q, QWidget* const w)
160  {
161  defineShortcut(w, Qt::Key_Down, q, SLOT(slotForward()));
162  defineShortcut(w, Qt::Key_Right, q, SLOT(slotForward()));
163  defineShortcut(w, Qt::Key_Up, q, SLOT(slotBackward()));
164  defineShortcut(w, Qt::Key_Left, q, SLOT(slotBackward()));
165  }
166 
167 public:
168 
172 
175  QAction* clearListAction;
176  QAction* editItemAction;
188 
189  QAction* forwardAction;
190  QAction* backwardAction;
191  QAction* firstAction;
192  QAction* lastAction;
193 
194  QAction* showBarAction;
199 
202 
205 
207 
209 
212 
214 
217 };
218 
219 } // namespace Digikam
220 
221 #endif // DIGIKAM_LIGHT_TABLE_WINDOW_PRIVATE_H
Definition: dexpanderbox.h:66
Definition: dzoombar.h:42
Definition: itempropertiessidebardb.h:55
Definition: lighttablethumbbar.h:37
Definition: lighttableview.h:43
Definition: lighttablewindow_p.h:113
QAction * leftZoomMinusAction
Definition: lighttablewindow_p.h:181
QAction * leftZoomPlusAction
Definition: lighttablewindow_p.h:180
QAction * clearListAction
Definition: lighttablewindow_p.h:175
QAction * navigateByPairAction
Definition: lighttablewindow_p.h:197
DAdjustableLabel * rightFileName
Definition: lighttablewindow_p.h:201
QAction * clearOnCloseAction
Definition: lighttablewindow_p.h:198
bool fromLeftPreview
Definition: lighttablewindow_p.h:171
QAction * fileDeleteFinalAction
Definition: lighttablewindow_p.h:179
QAction * fileDeleteAction
Definition: lighttablewindow_p.h:178
Private()
Definition: lighttablewindow_p.h:117
QAction * forwardAction
Definition: lighttablewindow_p.h:189
QAction * showBarAction
Definition: lighttablewindow_p.h:194
QAction * leftZoomFitToWindowAction
Definition: lighttablewindow_p.h:183
QAction * backwardAction
Definition: lighttablewindow_p.h:190
QAction * editItemAction
Definition: lighttablewindow_p.h:176
ItemPropertiesSideBarDB * rightSideBar
Definition: lighttablewindow_p.h:216
QAction * firstAction
Definition: lighttablewindow_p.h:191
StatusProgressBar * statusProgressBar
Definition: lighttablewindow_p.h:213
bool autoLoadOnRightPanel
Definition: lighttablewindow_p.h:169
bool autoSyncPreview
Definition: lighttablewindow_p.h:170
LightTableThumbBar * thumbView
Definition: lighttablewindow_p.h:206
DZoomBar * leftZoomBar
Definition: lighttablewindow_p.h:210
QAction * setItemLeftAction
Definition: lighttablewindow_p.h:173
QAction * leftZoomTo100percents
Definition: lighttablewindow_p.h:182
LightTableView * previewView
Definition: lighttablewindow_p.h:208
void addPageUpDownActions(LightTableWindow *const q, QWidget *const w)
Definition: lighttablewindow_p.h:159
QAction * syncPreviewAction
Definition: lighttablewindow_p.h:196
QAction * viewCMViewAction
Definition: lighttablewindow_p.h:195
QAction * rightZoomMinusAction
Definition: lighttablewindow_p.h:185
QAction * rightZoomPlusAction
Definition: lighttablewindow_p.h:184
ItemPropertiesSideBarDB * leftSideBar
Definition: lighttablewindow_p.h:215
DAdjustableLabel * leftFileName
Definition: lighttablewindow_p.h:200
SidebarSplitter * hSplitter
Definition: lighttablewindow_p.h:203
QAction * setItemRightAction
Definition: lighttablewindow_p.h:174
ThumbBarDock * barViewDock
Definition: lighttablewindow_p.h:204
QAction * rightZoomTo100percents
Definition: lighttablewindow_p.h:186
QAction * rightZoomFitToWindowAction
Definition: lighttablewindow_p.h:187
QAction * lastAction
Definition: lighttablewindow_p.h:192
DZoomBar * rightZoomBar
Definition: lighttablewindow_p.h:211
QAction * removeItemAction
Definition: lighttablewindow_p.h:177
Definition: lighttablewindow.h:42
Definition: sidebar.h:480
Definition: statusprogressbar.h:43
Definition: thumbbardock.h:84
Definition: datefolderview.cpp:43
QShortcut * defineShortcut(QWidget *const w, const QKeySequence &key, const QObject *receiver, const char *slot)
Definition: digikam_globals.cpp:29