digiKam
Loading...
Searching...
No Matches
lighttableview.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 : a widget to display 2 preview image on
8 * lightable to compare pictures.
9 *
10 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QFrame>
21#include <QString>
22
23// Local includes
24
25#include "iteminfo.h"
26
27namespace Digikam
28{
29
30class PreviewSettings;
31
32class LightTableView : public QFrame
33{
34 Q_OBJECT
35
36public:
37
38 explicit LightTableView(QWidget* const parent = nullptr);
39 ~LightTableView() override;
40
41 void setSyncPreview(bool sync);
42 void setNavigateByPair(bool b);
43
44 void setLeftItemInfo(const ItemInfo& info = ItemInfo());
45 void setRightItemInfo(const ItemInfo& info = ItemInfo());
46
47 ItemInfo leftItemInfo() const;
48 ItemInfo rightItemInfo() const;
49
50 void setPreviewSettings(const PreviewSettings& settings);
51
52 void checkForSelection(const ItemInfo& info);
53 void toggleFullScreen(bool set);
54
55 double leftZoomMax() const;
56 double leftZoomMin() const;
57
58 double rightZoomMax() const;
59 double rightZoomMin() const;
60
61 bool leftMaxZoom() const;
62 bool leftMinZoom() const;
63
64 bool rightMaxZoom() const;
65 bool rightMinZoom() const;
66
67 void leftReload();
68 void rightReload();
69
70Q_SIGNALS:
71
74
77
80
83
86
89
92
96
97public Q_SLOTS:
98
102 void setLeftZoomFactor(double z);
103 void slotLeftFitToWindow();
104 void slotLeftZoomTo100();
105
109 void setRightZoomFactor(double z);
111 void slotRightZoomTo100();
112
113private Q_SLOTS:
114
115 void slotLeftContentsMoved(int, int);
116 void slotRightContentsMoved(int, int);
117 void slotLeftZoomFactorChanged(double);
118 void slotRightZoomFactorChanged(double);
119 void slotLeftPreviewLoaded(bool);
120 void slotRightPreviewLoaded(bool);
121 void slotDeleteLeftItem();
122 void slotDeleteRightItem();
123
124private:
125
126 void checkForSyncPreview();
127
129 bool leftPreviewLoading() const;
130
132 bool rightPreviewLoading() const;
133
134private:
135
136 class Private;
137 Private* const d = nullptr;
138};
139
140} // namespace Digikam
Definition iteminfolist.h:37
Definition iteminfo.h:68
Definition lighttableview.h:33
ItemInfo rightItemInfo() const
Definition lighttableview.cpp:350
void leftReload()
Definition lighttableview.cpp:279
void setLeftZoomFactor(double z)
Definition lighttableview.cpp:193
void slotRightZoomSliderChanged(int)
Definition lighttableview.cpp:271
void signalLeftDroppedItems(const ItemInfoList &)
void slotRightZoomTo100()
Definition lighttableview.cpp:208
bool leftMaxZoom() const
Definition lighttableview.cpp:233
bool rightMinZoom() const
Definition lighttableview.cpp:258
void slotRightFitToWindow()
Definition lighttableview.cpp:218
void signalRightPreviewSelected(bool)
void signalLeftPreviewLoaded(bool)
void signalDeleteItem(const ItemInfo &)
void slotLeftZoomSliderChanged(int)
Definition lighttableview.cpp:263
void slotLeftZoomTo100()
Definition lighttableview.cpp:203
void setNavigateByPair(bool b)
Definition lighttableview.cpp:167
void signalToggleOnSyncPreview(bool)
void signalRightDroppedItems(const ItemInfoList &)
double leftZoomMax() const
Definition lighttableview.cpp:223
void setLeftItemInfo(const ItemInfo &info=ItemInfo())
Definition lighttableview.cpp:355
double rightZoomMax() const
Definition lighttableview.cpp:243
void signalEditItem(const ItemInfo &)
ItemInfo leftItemInfo() const
Definition lighttableview.cpp:345
double leftZoomMin() const
Definition lighttableview.cpp:228
void slotIncreaseRightZoom()
Definition lighttableview.cpp:188
void rightReload()
Definition lighttableview.cpp:284
bool leftMinZoom() const
Definition lighttableview.cpp:238
void slotLeftFitToWindow()
Definition lighttableview.cpp:213
void slotDecreaseLeftZoom()
Definition lighttableview.cpp:173
void setPreviewSettings(const PreviewSettings &settings)
Definition lighttableview.cpp:147
void slotDecreaseRightZoom()
Definition lighttableview.cpp:183
void signalRightZoomFactorChanged(double)
void signalLeftZoomFactorChanged(double)
void setRightItemInfo(const ItemInfo &info=ItemInfo())
Definition lighttableview.cpp:365
void signalRightPanelLeftButtonClicked()
bool rightMaxZoom() const
Definition lighttableview.cpp:253
void signalRightPreviewLoaded(bool)
~LightTableView() override
Definition lighttableview.cpp:142
void signalLeftPanelLeftButtonClicked()
double rightZoomMin() const
Definition lighttableview.cpp:248
void signalLeftPreviewSelected(bool)
void setSyncPreview(bool sync)
Definition lighttableview.cpp:153
void toggleFullScreen(bool set)
Definition lighttableview.cpp:465
void slotIncreaseLeftZoom()
Definition lighttableview.cpp:178
void setRightZoomFactor(double z)
Definition lighttableview.cpp:198
void checkForSelection(const ItemInfo &info)
Definition lighttableview.cpp:409
Definition previewsettings.h:25
Definition datefolderview.cpp:34