1
/* ============================================================
3
* This file is a part of digiKam project
4
* http://www.digikam.org
7
* Description : a widget to display 2 preview image on
8
* lightable to compare pictures.
10
* Copyright (C) 2007-2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
12
* This program is free software; you can redistribute it
13
* and/or modify it under the terms of the GNU General
14
* Public License as published by the Free Software Foundation;
15
* either version 2, or (at your option)
18
* This program is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
23
* ============================================================ */
25
#ifndef LIGHTTABLEVIEW_H
26
#define LIGHTTABLEVIEW_H
35
#include "imageinfo.h"
36
#include "digikam_export.h"
41
class LightTableView : public QFrame
47
LightTableView(QWidget* parent=0);
50
void setSyncPreview(bool sync);
51
void setNavigateByPair(bool b);
53
void setLeftImageInfo(const ImageInfo& info = ImageInfo());
54
void setRightImageInfo(const ImageInfo& info = ImageInfo());
56
ImageInfo leftImageInfo() const;
57
ImageInfo rightImageInfo() const;
59
void setLoadFullImageSize(bool b);
61
void checkForSelection(const ImageInfo& info);
66
double rightZoomMax();
67
double rightZoomMin();
80
void signalLeftPreviewLoaded(bool);
81
void signalRightPreviewLoaded(bool);
83
void signalLeftZoomFactorChanged(double);
84
void signalRightZoomFactorChanged(double);
86
void signalLeftDroppedItems(const ImageInfoList&);
87
void signalRightDroppedItems(const ImageInfoList&);
89
void signalLeftPanelLeftButtonClicked();
90
void signalRightPanelLeftButtonClicked();
92
void signalLeftPopupTagsView();
93
void signalRightPopupTagsView();
95
void signalSlideShow();
96
void signalDeleteItem(const ImageInfo&);
97
void signalEditItem(const ImageInfo&);
98
void signalToggleOnSyncPreview(bool);
102
void slotDecreaseLeftZoom();
103
void slotIncreaseLeftZoom();
104
void slotLeftZoomSliderChanged(int);
105
void setLeftZoomFactor(double z);
106
void slotLeftFitToWindow();
107
void slotLeftZoomTo100();
109
void slotDecreaseRightZoom();
110
void slotIncreaseRightZoom();
111
void slotRightZoomSliderChanged(int);
112
void setRightZoomFactor(double z);
113
void slotRightFitToWindow();
114
void slotRightZoomTo100();
118
void slotLeftContentsMoved(int, int);
119
void slotRightContentsMoved(int, int);
120
void slotLeftPreviewLoaded(bool);
121
void slotRightPreviewLoaded(bool);
122
void slotDeleteLeftItem();
123
void slotDeleteRightItem();
127
void checkForSyncPreview();
129
/// To not sync right panel during left loading
130
bool leftPreviewLoading() const;
132
/// To not sync left panel during right loading.
133
bool rightPreviewLoading() const;
137
class LightTableViewPriv;
138
LightTableViewPriv* const d;
141
} // namespace Digikam
143
#endif /* LIGHTTABLEVIEW_H */