summaryrefslogtreecommitdiffstats
path: root/kview/modules/presenter/kviewpresenter.h
diff options
context:
space:
mode:
Diffstat (limited to 'kview/modules/presenter/kviewpresenter.h')
-rw-r--r--kview/modules/presenter/kviewpresenter.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/kview/modules/presenter/kviewpresenter.h b/kview/modules/presenter/kviewpresenter.h
new file mode 100644
index 00000000..29fc106b
--- /dev/null
+++ b/kview/modules/presenter/kviewpresenter.h
@@ -0,0 +1,103 @@
+/* This file is part of the KDE project
+ Copyright (C) 2002 Matthias Kretz <kretz@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 2
+ as published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+*/
+
+/* $Id$ */
+
+#ifndef __kviewpresenter_h
+#define __kviewpresenter_h
+
+#include <kparts/plugin.h>
+#include <kurl.h>
+
+#include <qsortedlist.h>
+
+namespace KImageViewer { class Viewer; }
+
+class ImageListDialog;
+class ImageListItem;
+class QListViewItem;
+class QTimer;
+class KToggleAction;
+class KAction;
+
+class KViewPresenter : public KParts::Plugin
+{
+ Q_OBJECT
+public:
+ KViewPresenter( QObject* parent, const char* name, const QStringList & );
+ virtual ~KViewPresenter();
+
+protected:
+ struct ImageInfo
+ {
+ KURL url;
+ ImageInfo( const KURL & url )
+ : url( url )
+ {
+ }
+ bool operator==( const ImageInfo & i1 )
+ {
+ return url.prettyURL() == i1.url.prettyURL();
+ }
+ bool operator!=( const ImageInfo & i1 )
+ {
+ return url.prettyURL() == i1.url.prettyURL();
+ }
+ bool operator>( const ImageInfo & i1 )
+ {
+ return url.prettyURL() > i1.url.prettyURL();
+ }
+ bool operator<( const ImageInfo & i1 )
+ {
+ return url.prettyURL() < i1.url.prettyURL();
+ }
+ };
+ bool eventFilter( QObject *, QEvent * );
+
+private slots:
+ void slotImageOpened( const KURL & );
+ void slotImageList();
+ void slotOpenFiles();
+ void slotClose();
+ void changeItem( QListViewItem * );
+ void prev();
+ void next();
+ void slideshow( bool );
+ void setSlideshowInterval( int );
+ void shuffle();
+ void closeAll();
+ void loadList();
+ void saveList();
+
+private:
+ void makeCurrent( QListViewItem * );
+
+ KImageViewer::Viewer * m_pViewer;
+ ImageListDialog * m_pImageList;
+ KToggleAction * m_paSlideshow;
+ KAction * m_paFileOpen;
+ KAction * m_paFileClose;
+
+ QSortedList<ImageInfo> m_imagelist;
+ bool m_bDontAdd;
+ ImageListItem * m_pCurrentItem;
+ QTimer * m_pSlideshowTimer;
+};
+
+// vim:sw=4:ts=4:cindent
+#endif