digiKam
Loading...
Searching...
No Matches
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 * SPDX-FileCopyrightText: 2007-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 "lighttablewindow.h"
18
19// Qt includes
20
21#include <QApplication>
22#include <QFrame>
23#include <QHBoxLayout>
24#include <QVBoxLayout>
25#include <QAction>
26#include <QMenuBar>
27#include <QStatusBar>
28#include <QMenu>
29#include <QSplitter>
30
31// KDE includes
32
33#if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
34# pragma GCC diagnostic push
35# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
36#endif
37
38#if defined(Q_CC_CLANG)
39# pragma clang diagnostic push
40# pragma clang diagnostic ignored "-Wdeprecated-declarations"
41#endif
42
43#include <klocalizedstring.h>
44#include <kactioncollection.h>
45#include <kconfiggroup.h>
46#include <ksharedconfig.h>
47#include <kxmlgui_version.h>
48
49// Restore warnings
50#if !defined(Q_OS_DARWIN) && defined(Q_CC_GNU)
51# pragma GCC diagnostic pop
52#endif
53
54#if defined(Q_CC_CLANG)
55# pragma clang diagnostic pop
56#endif
57
58// Local includes
59
60#include "digikam_globals.h"
62#include "statusprogressbar.h"
63#include "dzoombar.h"
64#include "lighttableview.h"
65#include "lighttablethumbbar.h"
66#include "thumbbardock.h"
67#include "drawdecoder.h"
68#include "digikam_debug.h"
69#include "componentsinfodlg.h"
70#include "digikamapp.h"
71#include "thememanager.h"
72#include "dimg.h"
73#include "dio.h"
74#include "dmetadata.h"
75#include "dfileoperations.h"
76#include "metaenginesettings.h"
77#include "applicationsettings.h"
78#include "albummanager.h"
80#include "deletedialog.h"
81#include "iccsettings.h"
82#include "imagewindow.h"
83#include "itemdescedittab.h"
84#include "setup.h"
85#include "syncjob.h"
86#include "lighttablepreview.h"
87#include "albummodel.h"
88#include "albumfiltermodel.h"
89#include "coredbchangesets.h"
90#include "collectionscanner.h"
91#include "scancontroller.h"
92#include "tagsactionmngr.h"
93#include "thumbnailsize.h"
94#include "thumbnailloadthread.h"
95#include "dexpanderbox.h"
96#include "dbinfoiface.h"
97
98namespace Digikam
99{
100
101class DAdjustableLabel;
102
103class Q_DECL_HIDDEN LightTableWindow::Private
104{
105
106public:
107
108 Private() = default;
109
110 void addPageUpDownActions(const LightTableWindow* const q, QWidget* const w)
111 {
112 defineShortcut(w, Qt::Key_Down, q, SLOT(slotForward()));
113 defineShortcut(w, Qt::Key_Right, q, SLOT(slotForward()));
114 defineShortcut(w, Qt::Key_Up, q, SLOT(slotBackward()));
115 defineShortcut(w, Qt::Key_Left, q, SLOT(slotBackward()));
116 }
117
118public:
119
120 bool autoLoadOnRightPanel = true;
121 bool autoSyncPreview = true;
122 bool fromLeftPreview = true;
123
124 QAction* setItemLeftAction = nullptr;
125 QAction* setItemRightAction = nullptr;
126 QAction* clearListAction = nullptr;
127 QAction* editItemAction = nullptr;
128 QAction* removeItemAction = nullptr;
129 QAction* fileDeleteAction = nullptr;
130 QAction* fileDeleteFinalAction = nullptr;
131 QAction* leftZoomPlusAction = nullptr;
132 QAction* leftZoomMinusAction = nullptr;
133 QAction* leftZoomTo100percents = nullptr;
134 QAction* leftZoomFitToWindowAction = nullptr;
135 QAction* rightZoomPlusAction = nullptr;
136 QAction* rightZoomMinusAction = nullptr;
137 QAction* rightZoomTo100percents = nullptr;
138 QAction* rightZoomFitToWindowAction = nullptr;
139
140 QAction* forwardAction = nullptr;
141 QAction* backwardAction = nullptr;
142 QAction* firstAction = nullptr;
143 QAction* lastAction = nullptr;
144
145 QAction* showBarAction = nullptr;
146 QAction* viewCMViewAction = nullptr;
147 QAction* syncPreviewAction = nullptr;
148 QAction* navigateByPairAction = nullptr;
149 QAction* clearOnCloseAction = nullptr;
150
151 QMainWindow* dockArea = nullptr;
152
153 DAdjustableLabel* leftFileName = nullptr;
154 DAdjustableLabel* rightFileName = nullptr;
155
156 SidebarSplitter* hSplitter = nullptr;
157 ThumbBarDock* barViewDock = nullptr;
158
159 LightTableThumbBar* thumbView = nullptr;
160
161 LightTableView* previewView = nullptr;
162
163 DZoomBar* leftZoomBar = nullptr;
164 DZoomBar* rightZoomBar = nullptr;
165
166 StatusProgressBar* statusProgressBar = nullptr;
167
168 ItemPropertiesSideBarDB* leftSideBar = nullptr;
169 ItemPropertiesSideBarDB* rightSideBar = nullptr;
170};
171
172} // namespace Digikam
Definition dexpanderbox.h:56
Definition dzoombar.h:32
Definition itempropertiessidebardb.h:45
Definition lighttablethumbbar.h:27
Definition lighttableview.h:33
Definition lighttablewindow_p.h:104
void addPageUpDownActions(const LightTableWindow *const q, QWidget *const w)
Definition lighttablewindow_p.h:110
Definition lighttablewindow.h:32
Definition sidebar.h:471
Definition statusprogressbar.h:33
Definition thumbbardock.h:74
Definition datefolderview.cpp:34
QShortcut * defineShortcut(QWidget *const w, const QKeySequence &key, const QObject *receiver, const char *slot)
Definition digikam_globals.cpp:20