digikam
albumwidgetstack.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef ALBUMWIDGETSTACK_H
00026 #define ALBUMWIDGETSTACK_H
00027
00028
00029
00030 #include <QStackedWidget>
00031 #include <QByteArray>
00032 #include <QString>
00033
00034
00035
00036 #include <kurl.h>
00037
00038
00039
00040 #include "digikam_export.h"
00041 #include "imageinfo.h"
00042
00043 namespace Digikam
00044 {
00045
00046 class AlbumIconView;
00047 class ImagePreviewView;
00048 class AlbumWidgetStackPriv;
00049
00050 class DIGIKAM_EXPORT AlbumWidgetStack : public QStackedWidget
00051 {
00052 Q_OBJECT
00053
00054 public:
00055
00056 enum AlbumWidgetStackMode
00057 {
00058 PreviewAlbumMode=0,
00059 PreviewImageMode,
00060 WelcomePageMode,
00061 MediaPlayerMode
00062 };
00063
00064 public:
00065
00066 AlbumWidgetStack(QWidget *parent=0);
00067 ~AlbumWidgetStack();
00068
00069 AlbumIconView *albumIconView();
00070 ImagePreviewView *imagePreviewView();
00071
00072 void setPreviewItem(const ImageInfo &info = ImageInfo(),
00073 const ImageInfo &previous = ImageInfo(),
00074 const ImageInfo &next = ImageInfo());
00075 int previewMode();
00076 void setPreviewMode(int mode);
00077 void previewLoaded();
00078
00079 void increaseZoom();
00080 void decreaseZoom();
00081 void fitToWindow();
00082 void toggleFitToWindowOr100();
00083 void zoomTo100Percents();
00084 bool maxZoom();
00085 bool minZoom();
00086 void setZoomFactor(double z);
00087 void setZoomFactorSnapped(double z);
00088 double zoomFactor();
00089 double zoomMin();
00090 double zoomMax();
00091
00092 void toggleShowBar(bool b);
00093
00094 signals:
00095
00096 void signalNextItem();
00097 void signalPrevItem();
00098 void signalEditItem();
00099 void signalDeleteItem();
00100 void signalToggledToPreviewMode(bool);
00101 void signalBack2Album();
00102 void signalSlideShow();
00103 void signalZoomFactorChanged(double);
00104 void signalInsert2LightTable();
00105 void signalUrlSelected(const KUrl&);
00106
00107 public slots:
00108
00109 void slotEscapePreview();
00110 void slotItemsUpdated(const KUrl::List&);
00111 void slotItemsAdded();
00112
00113 private slots:
00114
00115 void slotZoomFactorChanged(double);
00116
00117 private:
00118
00119 void readSettings();
00120 void saveSettings();
00121 void updateThumbbar();
00122
00123 private:
00124
00125 AlbumWidgetStackPriv* d;
00126 };
00127
00128 }
00129
00130 #endif