summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/iface
authorzecke <zecke>2004-03-22 23:32:41 (UTC)
committer zecke <zecke>2004-03-22 23:32:41 (UTC)
commit428b687982966dc2efabaf6dbcc55ad0ea30aa10 (patch) (side-by-side diff)
tree86da20abd2e4b97a59dc32e17996bde5ee74cc91 /noncore/graphics/opie-eye/iface
parent7ce623c6351646ce738a81e103632d73c5454ecc (diff)
downloadopie-428b687982966dc2efabaf6dbcc55ad0ea30aa10.zip
opie-428b687982966dc2efabaf6dbcc55ad0ea30aa10.tar.gz
opie-428b687982966dc2efabaf6dbcc55ad0ea30aa10.tar.bz2
Initial Check in of the Eye Of Zilla. This ImageViewer features
Image Infos, EXIF, Jpeg,Png,Gif support. It supports scaled loading of Jpegs. an smart image cache.... GUI needs some work and we need to find a bug in QCOP as well. TODO: Add Image Service for example Mailer Add ImageCanvas/Zoomer/Display
Diffstat (limited to 'noncore/graphics/opie-eye/iface') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/iface/dirlister.cpp9
-rw-r--r--noncore/graphics/opie-eye/iface/dirlister.h47
-rw-r--r--noncore/graphics/opie-eye/iface/dirview.cpp9
-rw-r--r--noncore/graphics/opie-eye/iface/dirview.h40
-rw-r--r--noncore/graphics/opie-eye/iface/ifaceinfo.h19
-rw-r--r--noncore/graphics/opie-eye/iface/slaveiface.h47
6 files changed, 171 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/iface/dirlister.cpp b/noncore/graphics/opie-eye/iface/dirlister.cpp
new file mode 100644
index 0000000..7cf4361
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/dirlister.cpp
@@ -0,0 +1,9 @@
+#include "dirlister.h"
+
+
+PDirLister::PDirLister( const char* name )
+ : QObject( 0, name )
+{}
+
+PDirLister::~PDirLister()
+{}
diff --git a/noncore/graphics/opie-eye/iface/dirlister.h b/noncore/graphics/opie-eye/iface/dirlister.h
new file mode 100644
index 0000000..fcc55ec
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/dirlister.h
@@ -0,0 +1,47 @@
+/*
+ * GPLv2 zecke@handhelds.org
+ * No WArranty...
+ */
+
+#ifndef PHUNK_DIR_LISTER_H
+#define PHUNK_DIR_LISTER_H
+
+#include <qobject.h>
+#include <qstring.h>
+#include <qstringlist.h>
+
+
+class PDirLister : public QObject {
+ Q_OBJECT
+public:
+ enum Factor { Width, Height, None };
+
+ PDirLister( const char* name );
+
+ virtual QString defaultPath()const = 0;
+ virtual QString setStartPath( const QString& ) = 0;
+ virtual QString currentPath()const = 0;
+ virtual QStringList folders()const = 0;
+ virtual QStringList files()const = 0;
+public slots:
+ virtual void deleteImage( const QString& ) = 0;
+ virtual void imageInfo( const QString&) = 0;
+ virtual void fullImageInfo( const QString& ) = 0;
+ virtual void thumbNail( const QString&, int max_wid, int max_h ) = 0;
+ virtual QImage image( const QString&, Factor, int max = 0) = 0;
+
+signals:
+ void sig_dirchanged();
+ void sig_filechanged();
+ void sig_start();
+ void sig_end();
+// If this app ever happens to get multithreaded...
+ void sig_thumbInfo( const QString&, const QString& );
+ void sig_fullInfo( const QString&, const QString& );
+ void sig_thumbNail( const QString&, const QPixmap& );
+
+protected:
+ ~PDirLister();
+};
+
+#endif
diff --git a/noncore/graphics/opie-eye/iface/dirview.cpp b/noncore/graphics/opie-eye/iface/dirview.cpp
new file mode 100644
index 0000000..c3d1e86
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/dirview.cpp
@@ -0,0 +1,9 @@
+#include "dirview.h"
+
+PDirView::PDirView( const Config& ) {
+
+}
+
+PDirView::~PDirView() {
+
+}
diff --git a/noncore/graphics/opie-eye/iface/dirview.h b/noncore/graphics/opie-eye/iface/dirview.h
new file mode 100644
index 0000000..20d9062
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/dirview.h
@@ -0,0 +1,40 @@
+/*
+ * GPLv2 zecke@handhelds.org
+ * No WArranty...
+ */
+
+#ifndef PHUNK_DIR_VIEW_H
+#define PHUNK_DIR_VIEW_H
+
+#include <qmap.h>
+
+#include <qpe/config.h>
+
+class PInterfaceInfo;
+class PDirLister;
+
+struct PDirView {
+ PDirView( const Config& );
+ virtual ~PDirView();
+ virtual PInterfaceInfo* interfaceInfo()const = 0;
+ virtual PDirLister* dirLister()const = 0;
+};
+
+typedef PDirView* (*phunkViewCreateFunc )(const Config& );
+typedef QMap<QString,phunkViewCreateFunc> ViewMap;
+
+ViewMap* viewMap();
+PDirView* currentView();
+void setCurrentView( PDirView* );
+
+
+
+#define PHUNK_VIEW_INTERFACE( NAME, IMPL ) \
+ static PDirView *create_ ## IMPL( const Config& cfg ) { \
+ return new IMPL( cfg ); \
+ } \
+ static ViewMap::Iterator dummy_ ## IMPL = viewMap()->insert( NAME, create_ ## IMPL );
+
+
+
+#endif
diff --git a/noncore/graphics/opie-eye/iface/ifaceinfo.h b/noncore/graphics/opie-eye/iface/ifaceinfo.h
new file mode 100644
index 0000000..74e0db6
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/ifaceinfo.h
@@ -0,0 +1,19 @@
+/*
+ * GPLv2 zecke@handhelds.org
+ * No WArranty...
+ */
+
+#ifndef PHUNK_INTERFACE_INFO_H
+#define PHUNK_INTERFACE_INFO_H
+
+#include <qstring.h>
+
+class QWidget;
+class Config;
+struct PInterfaceInfo {
+ virtual QString name()const = 0;
+ virtual QWidget* configWidget( const Config& ) = 0;
+ virtual void writeConfig( QWidget* wid, Config& ) = 0;
+};
+
+#endif
diff --git a/noncore/graphics/opie-eye/iface/slaveiface.h b/noncore/graphics/opie-eye/iface/slaveiface.h
new file mode 100644
index 0000000..e1ecf1f
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/slaveiface.h
@@ -0,0 +1,47 @@
+/*
+ *GPLv2
+ */
+
+#ifndef SLAVE_INTERFACE_H
+#define SLAVE_INTERFACE_H
+
+#include <qpixmap.h>
+#include <qstring.h>
+
+/**
+ * The Data Packets we use
+ */
+
+struct ImageInfo {
+ ImageInfo() : kind(false){}
+ bool operator==( const ImageInfo other ) {
+ if ( kind != other.kind ) return false;
+ if ( file != other.file ) return false;
+ return true;
+ }
+ bool kind;
+ QString file;
+ QString info;
+};
+
+struct PixmapInfo {
+ PixmapInfo() : width( -1 ), height( -1 ) {}
+ bool operator==( const PixmapInfo& r ) {
+ if ( width != r.width ) return false;
+ if ( height != r.height ) return false;
+ if ( file != r.file ) return false;
+ return true;
+ }
+ int width, height;
+ QString file;
+ QPixmap pixmap;
+};
+
+
+/*
+ * Image Infos
+ */
+
+
+
+#endif