summaryrefslogtreecommitdiff
path: root/noncore/multimedia/showimg/showimg.h
Unidiff
Diffstat (limited to 'noncore/multimedia/showimg/showimg.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/showimg/showimg.h104
1 files changed, 47 insertions, 57 deletions
diff --git a/noncore/multimedia/showimg/showimg.h b/noncore/multimedia/showimg/showimg.h
index 0d3bc7d..8555ff0 100644
--- a/noncore/multimedia/showimg/showimg.h
+++ b/noncore/multimedia/showimg/showimg.h
@@ -20,255 +20,237 @@
20 20
21#ifndef SHOWIMG_H 21#ifndef SHOWIMG_H
22#define SHOWIMG_H 22#define SHOWIMG_H
23 23
24#include <qwidget.h> 24#include <qwidget.h>
25#include <qmainwindow.h> 25#include <qmainwindow.h>
26#include <qimage.h> 26#include <qimage.h>
27#include <qlabel.h> 27#include <qlabel.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qscrollview.h> 29#include <qscrollview.h>
30#include <qdialog.h> 30#include <qdialog.h>
31#include <qstringlist.h> 31#include <qstringlist.h>
32#include <qvaluelist.h>
33#include <qwmatrix.h>
32 34
35
36class QAction;
33class QPEToolBar; 37class QPEToolBar;
34class QPEMenuBar; 38class QPEMenuBar;
35class QPopupMenu; 39class QPopupMenu;
36class QWidgetStack; 40class QWidgetStack;
37class FileSelector; 41class FileSelector;
38class DocLnk; 42class DocLnk;
39class QLabel; 43class QLabel;
40class QAction; 44class QAction;
41class QSpinBox; 45class QSpinBox;
42class ImageFileSelector; 46class ImageFileSelector;
43 47class QTimer;
44 48
45 49
46class ImageWidget : public QWidget 50class ImageWidget : public QWidget
47{ 51{
48 Q_OBJECT 52 Q_OBJECT
49 public: 53 public:
50 ImageWidget( 54 ImageWidget( QWidget *parent=0 )
51 QWidget *parent=0 55 : QWidget( parent ) {
52 ) : QWidget( parent )
53 {
54 setBackgroundMode(NoBackground); 56 setBackgroundMode(NoBackground);
55 } 57 }
56 ~ImageWidget() 58 ~ImageWidget() { }
57 {
58
59 }
60 59
61 void setPixmap( const QPixmap &pm ) 60 void setPixmap( const QPixmap &pm ) {
62 {
63 pixmap = pm; 61 pixmap = pm;
64 show(); 62 show();
65 } 63 }
66 64
67 signals: 65signals:
68 void clicked(); 66 void clicked();
69 67
70protected: 68protected:
71 void paintEvent( QPaintEvent * ); 69 void paintEvent( QPaintEvent * );
72 void mouseReleaseEvent(QMouseEvent* event); 70 void mouseReleaseEvent(QMouseEvent* event);
73 71
74private: 72private:
75 QPixmap pixmap; 73 QPixmap pixmap;
76}; 74};
77 75
78class InfoDialog:public QDialog 76class InfoDialog:public QDialog
79{ 77{
80 Q_OBJECT 78 Q_OBJECT
81 79
82 public: 80public:
83 81
84 static void displayInfo(const QString &caption, const QStringList text, QWidget *parent); 82 static void displayInfo(const QString &caption, const QStringList text, QWidget *parent);
85 83
86private: 84private:
87 85
88 InfoDialog(const QString &caption,const QStringList text, QWidget *parent); 86 InfoDialog(const QString &caption,const QStringList text, QWidget *parent);
89 87
90}; 88};
91 89
92class ControlsDialog:public QDialog 90class ControlsDialog:public QDialog
93{ 91{
94 Q_OBJECT 92 Q_OBJECT
95 93
96 public: 94public:
97 ControlsDialog(const QString &caption,const QImage image,int *brightness, QWidget *parent); 95 ControlsDialog(const QString &caption,const QImage image,int *brightness, QWidget *parent);
98 96
99 97
100private slots: 98private slots:
101 99
102 void bValueChanged(int); 100 void bValueChanged(int);
103 void accept(); 101 void accept();
104 102
105 103
106private: 104private:
107 ImageWidget *pixmap; 105 ImageWidget *pixmap;
108 QSpinBox *spb; 106 QSpinBox *spb;
109 QImage img; 107 QImage img;
110 int *b; 108 int *b;
111}; 109};
112 110
113 111
114class ImagePane : public QWidget 112class ImagePane : public QWidget
115{ 113{
116 Q_OBJECT 114 Q_OBJECT
117 public: 115public:
118 ImagePane( QWidget *parent=0 ); 116 ImagePane( QWidget *parent=0 );
119 ~ImagePane() 117 ~ImagePane() { }
120 {
121
122 }
123 118
124 //void showStatus(); 119 //void showStatus();
125 //void hideStatus(); 120 //void hideStatus();
126 //QLabel *statusLabel() 121 //QLabel *statusLabel()
127 //{ 122 //{
128 // return status; 123 // return status;
129 //} 124 //}
130 void setPixmap( const QPixmap &pm ); 125 void setPixmap( const QPixmap &pm );
131 126
132 127
133 int paneWidth() const 128 int paneWidth() const {
134 {
135 return image->visibleWidth(); 129 return image->visibleWidth();
136 } 130 }
137 131
138 int paneHeight() const 132 int paneHeight() const {
139 {
140 return image->visibleHeight(); 133 return image->visibleHeight();
141 } 134 }
142 135
143 void setPosition(int x, int y) 136 void setPosition(int x, int y) {
144 {
145 image->setContentsPos (x,y ); 137 image->setContentsPos (x,y );
146 } 138 }
147 139
148 void disable() 140 void disable() {
149 {
150 pic->hide(); 141 pic->hide();
151 } 142 }
152 143
153 signals: 144signals:
154 void clicked(); 145 void clicked();
155 146
156private: 147private:
157 QScrollView *image; 148 QScrollView *image;
158 ImageWidget *pic; 149 ImageWidget *pic;
159 QVBoxLayout *vb; 150 QVBoxLayout *vb;
160 151
161private slots: 152private slots:
162 void imageClicked(); 153 void imageClicked();
163}; 154};
164 155
165 156
166class ImageViewer : public QMainWindow 157class ImageViewer : public QMainWindow
167{ 158{
168 Q_OBJECT 159 Q_OBJECT
169 public: 160public:
170 ImageViewer( QWidget *parent=0, const char *name=0, int wFlags=0 ); 161 ImageViewer( QWidget *parent=0, const char *name=0, int wFlags=0 );
171 ~ImageViewer(); 162 ~ImageViewer();
172 163
173 void loadImage( const char *fileName ); 164 void loadImage( const char *fileName );
174 void show(const QString& fileref); 165 void show(const QString& fileref);
175 void show(); 166 void show();
176 167
177 168
178 enum INFO_STRINGS 169 enum INFO_STRINGS {
179 {
180 PATH, 170 PATH,
181 FORMAT, 171 FORMAT,
182 FILE_SIZE, 172 FILE_SIZE,
183 SIZE, 173 SIZE,
184 COLORS, 174 COLORS,
185 ALPHA, 175 ALPHA,
186 LAST 176 LAST
187 }; 177 };
188 178
189 enum RotateDirection 179 enum RotateDirection {
190 {
191 Rotate90, Rotate180, Rotate270 180 Rotate90, Rotate180, Rotate270
192 }; 181 };
193 182
194 183
195 static QImage rotate(QImage &img, RotateDirection r); 184 static QImage rotate(QImage &img, RotateDirection r);
196 static QImage& intensity(QImage &image, float percent); 185 static QImage& intensity(QImage &image, float percent);
197 static QImage& toGray(QImage &image, bool fast = false); 186 static QImage& toGray(QImage &image, bool fast = false);
187 bool showThumbView; // a flag to indicate if FileSelector should be initialized with thumbnail view
198 188
199protected: 189protected:
200 void resizeEvent( QResizeEvent * ); 190 void resizeEvent( QResizeEvent * );
201 void closeEvent( QCloseEvent * ); 191 void closeEvent( QCloseEvent * );
202 192
203private: 193private:
194 int imageIndex(void);
195
204 void updateCaption( QString name ); 196 void updateCaption( QString name );
205 bool loadSelected(); 197 bool loadSelected();
206 void scale(); 198 void scale();
207 bool reconvertImage(); 199 bool reconvertImage();
208 int calcHeight(); 200 int calcHeight();
209 void setImage(const QImage& newimage); 201 void setImage(const QImage& newimage);
210 void updateImageInfo(QString &filePath); 202 void updateImageInfo(QString &filePath);
211 void switchToFileSelector(); 203 void switchToFileSelector();
212 void switchToImageView(); 204 void switchToImageView();
213 205
214 void updateImage(); 206 void updateImage();
215 207
216
217
218
219private slots: 208private slots:
220 209
210 void slideShow( bool on );
211 void help();
212 void slideUpdate();
213 bool nextImage();
214 bool prevImage();
215 void settings();
216
221 void switchThumbView(); 217 void switchThumbView();
222 void switchSizeToScreen(); 218 void switchSizeToScreen();
223 void setDocument(const QString& fileref); 219 void setDocument(const QString& fileref);
224 void doDelayedLoad(); 220 void doDelayedLoad();
225 void openFile( const DocLnk &file ); 221 void openFile( const DocLnk &file );
226 //void openFile(); 222 void openFile();
227 void open(); 223 void open();
228 void closeFileSelector(); 224 void closeFileSelector();
229 void hFlip(); 225 void hFlip();
230 void vFlip(); 226 void vFlip();
231 void rot180(); 227 void rot180();
232 void rot90(); 228 void rot90();
233 void rot270(); 229 void rot270();
234 void normalView(); 230 void normalView();
235 void fullScreen(); 231 void fullScreen();
232 void stopSlideShow();
236 void blackAndWhite(); 233 void blackAndWhite();
237 void displayInfoDialog(); 234 void displayInfoDialog();
238 void displayControlsDialog(); 235 void displayControlsDialog();
239
240
241
242
243
244
245
246
247
248
249private: 236private:
250 237 QWMatrix matrix;
251 238 bool rotated90;
252 239 enum MENU_ITEMS {
253
254 enum MENU_ITEMS
255 {
256 SHOW_THUMBNAILS, 240 SHOW_THUMBNAILS,
257 SIZE_TO_SCREEN, 241 SIZE_TO_SCREEN,
258 BLACKANDWHITE 242 BLACKANDWHITE
259 }; 243 };
260 244
261
262
263 QString filename; 245 QString filename;
264 QString delayLoad; 246 QString delayLoad;
265 QImage image; // the loaded image 247 QImage image; // the loaded image
266 QPixmap pm; // the converted pixmap 248 QPixmap pm; // the converted pixmap
267 QPixmap pmScaled; // the scaled pixmap 249 QPixmap pmScaled; // the scaled pixmap
268 QPEToolBar *toolBar; 250 QPEToolBar *toolBar;
269 QPEToolBar *iconToolBar; 251 QPEToolBar *iconToolBar;
270 QPEMenuBar *menuBar; 252 QPEMenuBar *menuBar;
271 QPEMenuBar *current; 253 QPEMenuBar *current;
272 254
273 255
274 QPopupMenu *fileMenuFile; 256 QPopupMenu *fileMenuFile;
@@ -280,19 +262,27 @@ private:
280 QAction *sss; // scale to screen size 262 QAction *sss; // scale to screen size
281 263
282 QLabel *lab; 264 QLabel *lab;
283 ImagePane *imagePanel; 265 ImagePane *imagePanel;
284 QWidgetStack *stack; 266 QWidgetStack *stack;
285 //FileSelector *fileSelector; 267 //FileSelector *fileSelector;
286 ImageFileSelector *fileSelector; 268 ImageFileSelector *fileSelector;
287 bool isFullScreen; 269 bool isFullScreen;
288 bool isSized; // true if image is to be resized to fit the window size 270 bool isSized; // true if image is to be resized to fit the window size
289 bool bFromDocView; // a flag to indicate whether or not we were 271 bool bFromDocView; // a flag to indicate whether or not we were
290 // launched from the document view... 272 // launched from the document view...
291 273
292 bool showThumbView; // a flag to indicate if FileSelector should be initialized with thumbnail view 274 int slideDelay;
275 bool slideRepeat;
276 bool slideReverse; // show slideshow in reverse order
277 bool rotateOnLoad; // rotate by 90 degrees on loading
278 bool fastLoad;
279 QTimer *slideTimer;
280 QValueList<DocLnk> imageList;
281 QAction *slideAction;
282
293 283
294 QString imageInfo[LAST]; 284 QString imageInfo[LAST];
295}; 285};
296 286
297 287
298#endif // SHOWIMG_H 288#endif // SHOWIMG_H