summaryrefslogtreecommitdiffstats
path: root/ksquirrel/sq_slideshowwidget.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-22 19:31:25 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-22 19:31:25 +0000
commit6afd9d8dddbe9e450690e05d498a503c00333a5e (patch)
treeee3eaca74e8e33dd66f24f5fb6c1431d7a9ff429 /ksquirrel/sq_slideshowwidget.h
downloadksquirrel-6afd9d8dddbe9e450690e05d498a503c00333a5e.tar.gz
ksquirrel-6afd9d8dddbe9e450690e05d498a503c00333a5e.zip
Added KDE3 version of ksquirrel photo manager
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ksquirrel@1094446 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksquirrel/sq_slideshowwidget.h')
-rw-r--r--ksquirrel/sq_slideshowwidget.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/ksquirrel/sq_slideshowwidget.h b/ksquirrel/sq_slideshowwidget.h
new file mode 100644
index 0000000..5d14a68
--- /dev/null
+++ b/ksquirrel/sq_slideshowwidget.h
@@ -0,0 +1,107 @@
+/***************************************************************************
+ sq_slideshowwidget.h - description
+ -------------------
+ begin : ??? Mar 30 2007
+ copyright : (C) 2007 by Baryshev Dmitry
+ email : ksquirrel.iv@gmail.com
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef SQ_SLIDESHOWWIDGET_H
+#define SQ_SLIDESHOWWIDGET_H
+
+#include <qwidget.h>
+#include <qpixmap.h>
+
+class QTimer;
+class QHBox;
+class QLabel;
+class QToolButton;
+
+/**
+ *@author Baryshev Dmitry
+ *
+ * A widget to show slideshow. It contains toolbar
+ * with some useful actions like "pause", "close", "next image" etc.
+ * It also can show onscreen message, which format is configured through
+ * "Action -> Slideshow advanced".
+ */
+
+class SQ_SlideShowWidget : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ SQ_SlideShowWidget(QWidget *parent = 0, const char *name = 0);
+ ~SQ_SlideShowWidget();
+
+ void beginSlideShow(int totl);
+ void endSlideShow();
+ void loadImage(const QString &path, int);
+
+ virtual bool eventFilter(QObject * watched, QEvent *e);
+
+ static SQ_SlideShowWidget* instance() { return m_inst; }
+
+ protected:
+ /*
+ * Draw decoded image
+ */
+ virtual void paintEvent(QPaintEvent *);
+
+ /*
+ * Ignore close event and tell KSquirrel to stop slideshow
+ */
+ virtual void closeEvent(QCloseEvent *);
+
+ /*
+ * Return, Escape = stop slideshow
+ * Pause, Space = pause/unpause slideshow
+ * Page Up = previous image
+ * Page Down = next image
+ */
+ virtual void keyPressEvent(QKeyEvent *);
+
+ /*
+ * show toolbar with actions
+ */
+ virtual void mouseMoveEvent(QMouseEvent *);
+
+ private:
+ void constructMessage();
+
+ signals:
+ void stopSlideShow();
+ void pause();
+ void next();
+ void previous();
+
+ private slots:
+ void slotHide();
+ void slotShowHelp();
+ void slotResetPause();
+
+ private:
+ QString path;
+ int current;
+ QPixmap pixmap;
+ QColor bgcolor, tcolor;
+ QTimer *timerHide;
+ QLabel *message;
+ QHBox *options;
+ bool messages, mes_name, mes_size, mes_pos;
+ int total;
+ QToolButton *buttonPause;
+
+ static SQ_SlideShowWidget *m_inst;
+};
+
+#endif