-rw-r--r-- | noncore/graphics/opie-eye/config.in | 4 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp | 14 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/impl/dir/dir_lister.cpp | 8 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/lib/slavemaster.cpp | 12 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/phunk_view.pro | 2 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/slave/jpeg_slave.cpp | 18 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/slave/main.cpp | 16 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/slave/slave.pro | 6 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/slave/slavereciever.cpp | 22 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/slave/thumbnailtool.cpp | 11 |
10 files changed, 68 insertions, 45 deletions
diff --git a/noncore/graphics/opie-eye/config.in b/noncore/graphics/opie-eye/config.in index 996dcf3..d7f9963 100644 --- a/noncore/graphics/opie-eye/config.in +++ b/noncore/graphics/opie-eye/config.in | |||
@@ -1,9 +1,9 @@ | |||
1 | config OPIE_EYE | 1 | config OPIE_EYE |
2 | boolean "opie-eye The Image Viewer and Browser" | 2 | boolean "opie-eye The Image Viewer and Browser" |
3 | default "y" | 3 | default "y" |
4 | depends on ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2UI | 4 | depends on ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && LIBOPIE2UI |
5 | 5 | ||
6 | config OPIE_EYE_SLAVE | 6 | config OPIE_EYE_SLAVE |
7 | boolean | 7 | boolean |
8 | default "y" if OPIE_EYE | 8 | default "y" if OPIE_EYE |
9 | depends on ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2UI | 9 | depends on ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && LIBOPIE2UI |
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp b/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp index 79f4510..5599ad1 100644 --- a/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp +++ b/noncore/graphics/opie-eye/impl/dir/dir_ifaceinfo.cpp | |||
@@ -1,26 +1,30 @@ | |||
1 | /* | 1 | /* |
2 | * GPLv2 | 2 | * GPLv2 |
3 | * zecke@handhelds.org | 3 | * zecke@handhelds.org |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #include "dir_ifaceinfo.h" | ||
7 | |||
8 | /* OPIE */ | ||
9 | #include <opie2/odebug.h> | ||
10 | #include <qpe/config.h> | ||
11 | using namespace Opie::Core; | ||
12 | |||
13 | /* QT */ | ||
6 | #include <qwidget.h> | 14 | #include <qwidget.h> |
7 | #include <qcheckbox.h> | 15 | #include <qcheckbox.h> |
8 | #include <qhbox.h> | 16 | #include <qhbox.h> |
9 | #include <qlabel.h> | 17 | #include <qlabel.h> |
10 | 18 | ||
11 | #include <qpe/config.h> | ||
12 | |||
13 | #include "dir_ifaceinfo.h" | ||
14 | |||
15 | namespace { | 19 | namespace { |
16 | class DirImageWidget : public QHBox { | 20 | class DirImageWidget : public QHBox { |
17 | public: | 21 | public: |
18 | DirImageWidget() { | 22 | DirImageWidget() { |
19 | chkbox = new QCheckBox( QObject::tr("Show all files"), this ); | 23 | chkbox = new QCheckBox( QObject::tr("Show all files"), this ); |
20 | } | 24 | } |
21 | ~DirImageWidget() {} | 25 | ~DirImageWidget() {} |
22 | QCheckBox* chkbox; | 26 | QCheckBox* chkbox; |
23 | }; | 27 | }; |
24 | } | 28 | } |
25 | 29 | ||
26 | 30 | ||
@@ -32,16 +36,16 @@ DirInterfaceInfo::~DirInterfaceInfo() { | |||
32 | QString DirInterfaceInfo::name()const { | 36 | QString DirInterfaceInfo::name()const { |
33 | return QString::fromLatin1(QObject::tr("DirView" )); | 37 | return QString::fromLatin1(QObject::tr("DirView" )); |
34 | } | 38 | } |
35 | 39 | ||
36 | QWidget* DirInterfaceInfo::configWidget(const Config& cfg) { | 40 | QWidget* DirInterfaceInfo::configWidget(const Config& cfg) { |
37 | DirImageWidget* wid = new DirImageWidget(); | 41 | DirImageWidget* wid = new DirImageWidget(); |
38 | wid->chkbox->setChecked( cfg.readBoolEntry("Dir_Check_All_Files", true) ); | 42 | wid->chkbox->setChecked( cfg.readBoolEntry("Dir_Check_All_Files", true) ); |
39 | 43 | ||
40 | return wid; | 44 | return wid; |
41 | } | 45 | } |
42 | 46 | ||
43 | void DirInterfaceInfo::writeConfig( QWidget* _wid, Config& cfg) { | 47 | void DirInterfaceInfo::writeConfig( QWidget* _wid, Config& cfg) { |
44 | qWarning( "Write Config" ); | 48 | owarn << "Write Config" << oendl; |
45 | DirImageWidget* wid = static_cast<DirImageWidget*>(_wid); | 49 | DirImageWidget* wid = static_cast<DirImageWidget*>(_wid); |
46 | cfg.writeEntry("Dir_Check_All_Files", wid->chkbox->isChecked() ); | 50 | cfg.writeEntry("Dir_Check_All_Files", wid->chkbox->isChecked() ); |
47 | } | 51 | } |
diff --git a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp index ffea29e..0a5cff4 100644 --- a/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp +++ b/noncore/graphics/opie-eye/impl/dir/dir_lister.cpp | |||
@@ -1,33 +1,35 @@ | |||
1 | /* | 1 | /* |
2 | * GPLv2 zecke@handhelds.org | 2 | * GPLv2 zecke@handhelds.org |
3 | */ | 3 | */ |
4 | 4 | ||
5 | #include "dir_lister.h" | 5 | #include "dir_lister.h" |
6 | 6 | ||
7 | #include <lib/slavemaster.h> | 7 | #include <lib/slavemaster.h> |
8 | 8 | ||
9 | 9 | /* OPIE */ | |
10 | #include <opie2/odebug.h> | ||
10 | #include <qpe/config.h> | 11 | #include <qpe/config.h> |
11 | #include <qpe/qpeapplication.h> | 12 | #include <qpe/qpeapplication.h> |
13 | using namespace Opie::Core; | ||
12 | 14 | ||
15 | /* QT */ | ||
13 | #include <qdir.h> | 16 | #include <qdir.h> |
14 | #include <qfileinfo.h> | 17 | #include <qfileinfo.h> |
15 | 18 | ||
16 | |||
17 | Dir_DirLister::Dir_DirLister( bool list ) | 19 | Dir_DirLister::Dir_DirLister( bool list ) |
18 | : PDirLister( "dir_dir_lister" ) | 20 | : PDirLister( "dir_dir_lister" ) |
19 | { | 21 | { |
20 | m_allFiles = list; | 22 | m_allFiles = list; |
21 | qWarning("All Files %d", m_allFiles ); | 23 | owarn << "All Files " << m_allFiles << "" << oendl; |
22 | 24 | ||
23 | SlaveMaster* master = SlaveMaster::self(); | 25 | SlaveMaster* master = SlaveMaster::self(); |
24 | connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) ); | 26 | connect( master, SIGNAL(sig_start()), this, SIGNAL(sig_start()) ); |
25 | connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) ); | 27 | connect( master, SIGNAL(sig_end()), this, SIGNAL(sig_end()) ); |
26 | connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)), | 28 | connect( master, SIGNAL(sig_thumbInfo(const QString&, const QString&)), |
27 | this, SIGNAL(sig_thumbInfo(const QString&, const QString&)) ); | 29 | this, SIGNAL(sig_thumbInfo(const QString&, const QString&)) ); |
28 | connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)), | 30 | connect( master, SIGNAL(sig_fullInfo(const QString&, const QString&)), |
29 | this, SIGNAL(sig_fullInfo(const QString&, const QString&)) ); | 31 | this, SIGNAL(sig_fullInfo(const QString&, const QString&)) ); |
30 | connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)), | 32 | connect( master, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)), |
31 | this, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)) ); | 33 | this, SIGNAL(sig_thumbNail(const QString&, const QPixmap&)) ); |
32 | 34 | ||
33 | } | 35 | } |
diff --git a/noncore/graphics/opie-eye/lib/slavemaster.cpp b/noncore/graphics/opie-eye/lib/slavemaster.cpp index 4e28535..5bb7ab8 100644 --- a/noncore/graphics/opie-eye/lib/slavemaster.cpp +++ b/noncore/graphics/opie-eye/lib/slavemaster.cpp | |||
@@ -1,38 +1,42 @@ | |||
1 | #include "slavemaster.h" | 1 | #include "slavemaster.h" |
2 | 2 | ||
3 | /* OPIE */ | ||
4 | #include <opie2/odebug.h> | ||
3 | #include <qpe/qpeapplication.h> | 5 | #include <qpe/qpeapplication.h> |
4 | #include <qpe/qcopenvelope_qws.h> | 6 | #include <qpe/qcopenvelope_qws.h> |
7 | using namespace Opie::Core; | ||
5 | 8 | ||
9 | /* QT */ | ||
6 | #include <qcopchannel_qws.h> | 10 | #include <qcopchannel_qws.h> |
7 | #include <qtimer.h> | 11 | #include <qtimer.h> |
8 | 12 | ||
9 | QDataStream & operator << (QDataStream & str, bool b) | 13 | QDataStream & operator << (QDataStream & str, bool b) |
10 | { | 14 | { |
11 | str << Q_INT8(b); | 15 | str << Q_INT8(b); |
12 | return str; | 16 | return str; |
13 | } | 17 | } |
14 | QDataStream & operator >> (QDataStream & str, bool & b) | 18 | QDataStream & operator >> (QDataStream & str, bool & b) |
15 | { | 19 | { |
16 | Q_INT8 l; | 20 | Q_INT8 l; |
17 | str >> l; | 21 | str >> l; |
18 | b = bool(l); | 22 | b = bool(l); |
19 | return str; | 23 | return str; |
20 | } | 24 | } |
21 | 25 | ||
22 | /* | 26 | /* |
23 | * ! We don't put a Pixmap in!!!! | 27 | * ! We don't put a Pixmap in!!!! |
24 | */ | 28 | */ |
25 | QDataStream &operator<<( QDataStream& s, const PixmapInfo& inf) { | 29 | QDataStream &operator<<( QDataStream& s, const PixmapInfo& inf) { |
26 | qWarning( "Image request is %s %d %d", inf.file.latin1(), inf.width, inf.height ); | 30 | owarn << "Image request is " << inf.file.latin1() << " " << inf.width << " " << inf.height << "" << oendl; |
27 | return s << inf.file << inf.width << inf.height; | 31 | return s << inf.file << inf.width << inf.height; |
28 | } | 32 | } |
29 | QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) { | 33 | QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) { |
30 | s >> inf.file >> inf.pixmap >> inf.width >> inf.height; | 34 | s >> inf.file >> inf.pixmap >> inf.width >> inf.height; |
31 | return s; | 35 | return s; |
32 | } | 36 | } |
33 | QDataStream &operator<<( QDataStream& s, const ImageInfo& i) { | 37 | QDataStream &operator<<( QDataStream& s, const ImageInfo& i) { |
34 | return s << i.kind << i.file << i.info; | 38 | return s << i.kind << i.file << i.info; |
35 | } | 39 | } |
36 | QDataStream &operator>>( QDataStream& s, ImageInfo& i ) { | 40 | QDataStream &operator>>( QDataStream& s, ImageInfo& i ) { |
37 | s >> i.kind >> i.file >> i.info; | 41 | s >> i.kind >> i.file >> i.info; |
38 | return s; | 42 | return s; |
@@ -69,52 +73,52 @@ void SlaveMaster::thumbInfo( const QString& str) { | |||
69 | } | 73 | } |
70 | 74 | ||
71 | void SlaveMaster::imageInfo( const QString& str ) { | 75 | void SlaveMaster::imageInfo( const QString& str ) { |
72 | m_inImageInfo.append( str ); | 76 | m_inImageInfo.append( str ); |
73 | if ( !m_started ) { | 77 | if ( !m_started ) { |
74 | QTimer::singleShot( 0, this, SLOT(slotTimerStart())); | 78 | QTimer::singleShot( 0, this, SLOT(slotTimerStart())); |
75 | m_started = true; | 79 | m_started = true; |
76 | } | 80 | } |
77 | } | 81 | } |
78 | 82 | ||
79 | void SlaveMaster::thumbNail( const QString& str, int w, int h ) { | 83 | void SlaveMaster::thumbNail( const QString& str, int w, int h ) { |
80 | if ( str.isEmpty() ) { | 84 | if ( str.isEmpty() ) { |
81 | qWarning( "Asking for empty nail" ); | 85 | owarn << "Asking for empty nail" << oendl; |
82 | return; | 86 | return; |
83 | } | 87 | } |
84 | qWarning( "Asking for thumbNail in size %d %d" + str, w,h ); | 88 | owarn << "Asking for thumbNail in size " << w << " " << h << "" + str << oendl; |
85 | PixmapInfo item; | 89 | PixmapInfo item; |
86 | item.file = str; item.width = w; item.height = h; | 90 | item.file = str; item.width = w; item.height = h; |
87 | item.pixmap = QPixmap(); | 91 | item.pixmap = QPixmap(); |
88 | m_inThumbNail.append( item ); | 92 | m_inThumbNail.append( item ); |
89 | 93 | ||
90 | if ( !m_started ) { | 94 | if ( !m_started ) { |
91 | QTimer::singleShot( 0, this, SLOT(slotTimerStart())); | 95 | QTimer::singleShot( 0, this, SLOT(slotTimerStart())); |
92 | m_started = true; | 96 | m_started = true; |
93 | } | 97 | } |
94 | } | 98 | } |
95 | 99 | ||
96 | 100 | ||
97 | void SlaveMaster::recieve( const QCString& str, const QByteArray& at) { | 101 | void SlaveMaster::recieve( const QCString& str, const QByteArray& at) { |
98 | 102 | ||
99 | ImageInfos infos; | 103 | ImageInfos infos; |
100 | PixmapInfos pixinfos; | 104 | PixmapInfos pixinfos; |
101 | 105 | ||
102 | QDataStream stream( at, IO_ReadOnly ); | 106 | QDataStream stream( at, IO_ReadOnly ); |
103 | if ( str == "pixmapsHandled(PixmapList)" ) | 107 | if ( str == "pixmapsHandled(PixmapList)" ) |
104 | stream >> pixinfos; | 108 | stream >> pixinfos; |
105 | else if ( str == "pixmapsHandled(StringList)" ) | 109 | else if ( str == "pixmapsHandled(StringList)" ) |
106 | stream >> infos; | 110 | stream >> infos; |
107 | 111 | ||
108 | qWarning( "PixInfos %d", pixinfos.count() ); | 112 | owarn << "PixInfos " << pixinfos.count() << "" << oendl; |
109 | 113 | ||
110 | bool got_data = ( !infos.isEmpty() || !pixinfos.isEmpty() ); | 114 | bool got_data = ( !infos.isEmpty() || !pixinfos.isEmpty() ); |
111 | if ( got_data ) { | 115 | if ( got_data ) { |
112 | emit sig_start(); | 116 | emit sig_start(); |
113 | for ( ImageInfos::Iterator _it = infos.begin(); _it != infos.end(); ++_it ) { | 117 | for ( ImageInfos::Iterator _it = infos.begin(); _it != infos.end(); ++_it ) { |
114 | if ( (*_it).kind ) | 118 | if ( (*_it).kind ) |
115 | emit sig_fullInfo( (*_it).file, (*_it).info ); | 119 | emit sig_fullInfo( (*_it).file, (*_it).info ); |
116 | else | 120 | else |
117 | emit sig_thumbInfo( (*_it).file, (*_it).info ); | 121 | emit sig_thumbInfo( (*_it).file, (*_it).info ); |
118 | } | 122 | } |
119 | 123 | ||
120 | for ( PixmapInfos::Iterator it = pixinfos.begin(); it != pixinfos.end(); ++it ) | 124 | for ( PixmapInfos::Iterator it = pixinfos.begin(); it != pixinfos.end(); ++it ) |
diff --git a/noncore/graphics/opie-eye/phunk_view.pro b/noncore/graphics/opie-eye/phunk_view.pro index 17fa22c..0e2202a 100644 --- a/noncore/graphics/opie-eye/phunk_view.pro +++ b/noncore/graphics/opie-eye/phunk_view.pro | |||
@@ -22,15 +22,15 @@ SOURCES = gui/iconview.cpp gui/filesystem.cpp gui/mainwindow.cpp \ | |||
22 | impl/dir/dir_ifaceinfo.cpp lib/slavemaster.cpp \ | 22 | impl/dir/dir_ifaceinfo.cpp lib/slavemaster.cpp \ |
23 | gui/imageinfoui.cpp | 23 | gui/imageinfoui.cpp |
24 | # A list of source files | 24 | # A list of source files |
25 | 25 | ||
26 | INTERFACES = | 26 | INTERFACES = |
27 | # list of ui files | 27 | # list of ui files |
28 | 28 | ||
29 | INCLUDEPATH += . $(OPIEDIR)/include | 29 | INCLUDEPATH += . $(OPIEDIR)/include |
30 | DEPENDPATH += $(OPIEDIR)/include | 30 | DEPENDPATH += $(OPIEDIR)/include |
31 | 31 | ||
32 | 32 | ||
33 | 33 | ||
34 | LIBS += -lqpe -lopieui2 | 34 | LIBS += -lqpe -lopiecore2 -lopieui2 |
35 | 35 | ||
36 | include ( $(OPIEDIR)/include.pro ) | 36 | include ( $(OPIEDIR)/include.pro ) |
diff --git a/noncore/graphics/opie-eye/slave/jpeg_slave.cpp b/noncore/graphics/opie-eye/slave/jpeg_slave.cpp index 086b47f..fb7d5de 100644 --- a/noncore/graphics/opie-eye/slave/jpeg_slave.cpp +++ b/noncore/graphics/opie-eye/slave/jpeg_slave.cpp | |||
@@ -1,19 +1,23 @@ | |||
1 | #include "jpeg_slave.h" | 1 | #include "jpeg_slave.h" |
2 | |||
3 | #include "thumbnailtool.h" | 2 | #include "thumbnailtool.h" |
4 | 3 | ||
5 | PHUNK_VIEW_INTERFACE( "JPEG", JpegSlave ) | 4 | PHUNK_VIEW_INTERFACE( "JPEG", JpegSlave ) |
6 | 5 | ||
7 | #include <qtopia/timestring.h> | 6 | /* OPIE */ |
7 | #include <opie2/odebug.h> | ||
8 | #include <qpe/timestring.h> | ||
9 | using namespace Opie::Core; | ||
10 | |||
11 | /* QT */ | ||
8 | #include <qobject.h> | 12 | #include <qobject.h> |
9 | #include <qimage.h> | 13 | #include <qimage.h> |
10 | 14 | ||
11 | /** | 15 | /** |
12 | exif.h | 16 | exif.h |
13 | */ | 17 | */ |
14 | 18 | ||
15 | #include <stdio.h> | 19 | #include <stdio.h> |
16 | #include <stdlib.h> | 20 | #include <stdlib.h> |
17 | #include <math.h> | 21 | #include <math.h> |
18 | #include <time.h> | 22 | #include <time.h> |
19 | 23 | ||
@@ -110,25 +114,25 @@ public: | |||
110 | int getCompressionLevel() { return CompressionLevel; } | 114 | int getCompressionLevel() { return CompressionLevel; } |
111 | QString getUserComment() { return UserComment; } | 115 | QString getUserComment() { return UserComment; } |
112 | QString getComment() { return Comment; } | 116 | QString getComment() { return Comment; } |
113 | QImage getThumbnail(); | 117 | QImage getThumbnail(); |
114 | bool isThumbnailSane(); | 118 | bool isThumbnailSane(); |
115 | bool isNullThumbnail() { return !isThumbnailSane(); } | 119 | bool isNullThumbnail() { return !isThumbnailSane(); } |
116 | }; | 120 | }; |
117 | 121 | ||
118 | class FatalError { | 122 | class FatalError { |
119 | const char* ex; | 123 | const char* ex; |
120 | public: | 124 | public: |
121 | FatalError(const char* s) { ex = s; } | 125 | FatalError(const char* s) { ex = s; } |
122 | void debug_print() const { qWarning("exception: %s", ex ); } | 126 | void debug_print() const { owarn << "exception: " << ex << "" << oendl; } |
123 | }; | 127 | }; |
124 | 128 | ||
125 | 129 | ||
126 | 130 | ||
127 | static unsigned char * LastExifRefd; | 131 | static unsigned char * LastExifRefd; |
128 | static int ExifSettingsLength; | 132 | static int ExifSettingsLength; |
129 | static double FocalplaneXRes; | 133 | static double FocalplaneXRes; |
130 | static double FocalplaneUnits; | 134 | static double FocalplaneUnits; |
131 | static int MotorolaOrder = 0; | 135 | static int MotorolaOrder = 0; |
132 | static int SectionsRead; | 136 | static int SectionsRead; |
133 | //static int HaveAll; | 137 | //static int HaveAll; |
134 | 138 | ||
@@ -253,25 +257,25 @@ int ExifData::ReadJpegSections (QFile & infile, ReadMode_t ReadMode) | |||
253 | int marker = 0; | 257 | int marker = 0; |
254 | int got; | 258 | int got; |
255 | unsigned int ll,lh; | 259 | unsigned int ll,lh; |
256 | unsigned int itemlen; | 260 | unsigned int itemlen; |
257 | uchar * Data; | 261 | uchar * Data; |
258 | 262 | ||
259 | for (a=0;a<7;a++){ | 263 | for (a=0;a<7;a++){ |
260 | marker = infile.getch(); | 264 | marker = infile.getch(); |
261 | if (marker != 0xff) break; | 265 | if (marker != 0xff) break; |
262 | 266 | ||
263 | if (a >= 6){ | 267 | if (a >= 6){ |
264 | 268 | ||
265 | qWarning( "too many padding bytes" ); | 269 | owarn << "too many padding bytes" << oendl; |
266 | return false; | 270 | return false; |
267 | 271 | ||
268 | } | 272 | } |
269 | } | 273 | } |
270 | 274 | ||
271 | if (marker == 0xff){ | 275 | if (marker == 0xff){ |
272 | // 0xff is legal padding, but if we get that many, something's wrong. | 276 | // 0xff is legal padding, but if we get that many, something's wrong. |
273 | return false; | 277 | return false; |
274 | } | 278 | } |
275 | 279 | ||
276 | Sections[SectionsRead].Type = marker; | 280 | Sections[SectionsRead].Type = marker; |
277 | 281 | ||
@@ -318,25 +322,25 @@ int ExifData::ReadJpegSections (QFile & infile, ReadMode_t ReadMode) | |||
318 | return false; | 322 | return false; |
319 | } | 323 | } |
320 | 324 | ||
321 | Sections[SectionsRead].Data = Data; | 325 | Sections[SectionsRead].Data = Data; |
322 | Sections[SectionsRead].Size = size; | 326 | Sections[SectionsRead].Size = size; |
323 | Sections[SectionsRead].Type = PSEUDO_IMAGE_MARKER; | 327 | Sections[SectionsRead].Type = PSEUDO_IMAGE_MARKER; |
324 | SectionsRead ++; | 328 | SectionsRead ++; |
325 | //HaveAll = 1; | 329 | //HaveAll = 1; |
326 | } | 330 | } |
327 | return true; | 331 | return true; |
328 | 332 | ||
329 | case M_EOI: // in case it's a tables-only JPEG stream | 333 | case M_EOI: // in case it's a tables-only JPEG stream |
330 | qWarning( "No image in jpeg!" ); | 334 | owarn << "No image in jpeg!" << oendl; |
331 | return false; | 335 | return false; |
332 | 336 | ||
333 | case M_COM: // Comment section | 337 | case M_COM: // Comment section |
334 | // pieczy 2002-02-12 | 338 | // pieczy 2002-02-12 |
335 | // now the User comment goes to UserComment | 339 | // now the User comment goes to UserComment |
336 | // so we can store a Comment section also in READ_EXIF mode | 340 | // so we can store a Comment section also in READ_EXIF mode |
337 | process_COM(Data, itemlen); | 341 | process_COM(Data, itemlen); |
338 | break; | 342 | break; |
339 | 343 | ||
340 | case M_JFIF: | 344 | case M_JFIF: |
341 | // Regular jpegs always have this tag, exif images have the exif | 345 | // Regular jpegs always have this tag, exif images have the exif |
342 | // marker instead, althogh ACDsee will write images with both markers. | 346 | // marker instead, althogh ACDsee will write images with both markers. |
@@ -717,25 +721,25 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa | |||
717 | if (DIR_ENTRY_ADDR(DirStart, NumDirEntries) + 4 <= OffsetBase+ExifLength){ | 721 | if (DIR_ENTRY_ADDR(DirStart, NumDirEntries) + 4 <= OffsetBase+ExifLength){ |
718 | Offset = Get32u(DIR_ENTRY_ADDR(DirStart, NumDirEntries)); | 722 | Offset = Get32u(DIR_ENTRY_ADDR(DirStart, NumDirEntries)); |
719 | // There is at least one jpeg from an HP camera having an Offset of almost MAXUINT. | 723 | // There is at least one jpeg from an HP camera having an Offset of almost MAXUINT. |
720 | // Adding OffsetBase to it produces an overflow, so compare with ExifLength here. | 724 | // Adding OffsetBase to it produces an overflow, so compare with ExifLength here. |
721 | // See http://bugs.kde.org/show_bug.cgi?id=54542 | 725 | // See http://bugs.kde.org/show_bug.cgi?id=54542 |
722 | if (Offset && Offset < ExifLength){ | 726 | if (Offset && Offset < ExifLength){ |
723 | SubdirStart = OffsetBase + Offset; | 727 | SubdirStart = OffsetBase + Offset; |
724 | if (SubdirStart > OffsetBase+ExifLength){ | 728 | if (SubdirStart > OffsetBase+ExifLength){ |
725 | if (SubdirStart < OffsetBase+ExifLength+20){ | 729 | if (SubdirStart < OffsetBase+ExifLength+20){ |
726 | // Jhead 1.3 or earlier would crop the whole directory! | 730 | // Jhead 1.3 or earlier would crop the whole directory! |
727 | // As Jhead produces this form of format incorrectness, | 731 | // As Jhead produces this form of format incorrectness, |
728 | // I'll just let it pass silently | 732 | // I'll just let it pass silently |
729 | qWarning( "Thumbnail removed with Jhead 1.3 or earlier" ); | 733 | owarn << "Thumbnail removed with Jhead 1.3 or earlier" << oendl; |
730 | }else{ | 734 | }else{ |
731 | return; | 735 | return; |
732 | } | 736 | } |
733 | }else{ | 737 | }else{ |
734 | if (SubdirStart <= OffsetBase+ExifLength){ | 738 | if (SubdirStart <= OffsetBase+ExifLength){ |
735 | ProcessExifDir(SubdirStart, OffsetBase, ExifLength); | 739 | ProcessExifDir(SubdirStart, OffsetBase, ExifLength); |
736 | } | 740 | } |
737 | } | 741 | } |
738 | } | 742 | } |
739 | }else{ | 743 | }else{ |
740 | // The exif header ends before the last next directory pointer. | 744 | // The exif header ends before the last next directory pointer. |
741 | } | 745 | } |
@@ -904,25 +908,25 @@ ExifData::ExifData() | |||
904 | //-------------------------------------------------------------------------- | 908 | //-------------------------------------------------------------------------- |
905 | bool ExifData::scan(const QString & path) | 909 | bool ExifData::scan(const QString & path) |
906 | { | 910 | { |
907 | int ret; | 911 | int ret; |
908 | 912 | ||
909 | QFile f(path); | 913 | QFile f(path); |
910 | f.open(IO_ReadOnly); | 914 | f.open(IO_ReadOnly); |
911 | 915 | ||
912 | // Scan the JPEG headers. | 916 | // Scan the JPEG headers. |
913 | ret = ReadJpegSections(f, READ_EXIF); | 917 | ret = ReadJpegSections(f, READ_EXIF); |
914 | 918 | ||
915 | if (ret == false){ | 919 | if (ret == false){ |
916 | qWarning( "Not JPEG file!" ); | 920 | owarn << "Not JPEG file!" << oendl; |
917 | DiscardData(); | 921 | DiscardData(); |
918 | f.close(); | 922 | f.close(); |
919 | return false; | 923 | return false; |
920 | } | 924 | } |
921 | f.close(); | 925 | f.close(); |
922 | DiscardData(); | 926 | DiscardData(); |
923 | 927 | ||
924 | //now make the strings clean, | 928 | //now make the strings clean, |
925 | // for exmaple my Casio is a "QV-4000 " | 929 | // for exmaple my Casio is a "QV-4000 " |
926 | CameraMake = CameraMake.stripWhiteSpace(); | 930 | CameraMake = CameraMake.stripWhiteSpace(); |
927 | CameraModel = CameraModel.stripWhiteSpace(); | 931 | CameraModel = CameraModel.stripWhiteSpace(); |
928 | UserComment = UserComment.stripWhiteSpace(); | 932 | UserComment = UserComment.stripWhiteSpace(); |
diff --git a/noncore/graphics/opie-eye/slave/main.cpp b/noncore/graphics/opie-eye/slave/main.cpp index 37020e6..5b90483 100644 --- a/noncore/graphics/opie-eye/slave/main.cpp +++ b/noncore/graphics/opie-eye/slave/main.cpp | |||
@@ -22,38 +22,38 @@ int main( int argc, char* argv[] ) { | |||
22 | &rec, SLOT(recieveAnswer(const QCString&,const QByteArray&))); | 22 | &rec, SLOT(recieveAnswer(const QCString&,const QByteArray&))); |
23 | QObject::connect(qApp,SIGNAL(appMessage(const QCString&, const QByteArray&)), | 23 | QObject::connect(qApp,SIGNAL(appMessage(const QCString&, const QByteArray&)), |
24 | &rec, SLOT(recieveAnswer(const QCString&,const QByteArray&))); | 24 | &rec, SLOT(recieveAnswer(const QCString&,const QByteArray&))); |
25 | 25 | ||
26 | return app.exec(); | 26 | return app.exec(); |
27 | } | 27 | } |
28 | 28 | ||
29 | #ifdef DEBUG_IT | 29 | #ifdef DEBUG_IT |
30 | int main( int argc, char* argv[] ) { | 30 | int main( int argc, char* argv[] ) { |
31 | QString str = QString::fromLatin1(argv[2] ); | 31 | QString str = QString::fromLatin1(argv[2] ); |
32 | QApplication app( argc, argv ); | 32 | QApplication app( argc, argv ); |
33 | GifSlave slave; | 33 | GifSlave slave; |
34 | qWarning( str +" "+slave.iconViewName(str ) ); | 34 | owarn << str +" "+slave.iconViewName(str ) << oendl; |
35 | qWarning( str+" "+slave.fullImageInfo( str ) ); | 35 | owarn << str+" "+slave.fullImageInfo( str ) << oendl; |
36 | 36 | ||
37 | PNGSlave pngslave; | 37 | PNGSlave pngslave; |
38 | qWarning( str + " " + pngslave.iconViewName(str) ); | 38 | owarn << str + " " + pngslave.iconViewName(str) << oendl; |
39 | qWarning( str + " " + pngslave.fullImageInfo(str)); | 39 | owarn << str + " " + pngslave.fullImageInfo(str) << oendl; |
40 | 40 | ||
41 | 41 | ||
42 | JpegSlave jpgslave; | 42 | JpegSlave jpgslave; |
43 | qWarning( str + " " + jpgslave.iconViewName(str ) ); | 43 | owarn << str + " " + jpgslave.iconViewName(str ) << oendl; |
44 | qWarning( str + " " + jpgslave.fullImageInfo( str ) ); | 44 | owarn << str + " " + jpgslave.fullImageInfo( str ) << oendl; |
45 | //return app.exec(); | 45 | //return app.exec(); |
46 | QPixmap pix = ThumbNailTool::getThumb( str, 24, 24 ); | 46 | QPixmap pix = ThumbNailTool::getThumb( str, 24, 24 ); |
47 | if ( pix.isNull() ) { | 47 | if ( pix.isNull() ) { |
48 | qWarning( "No Thumbnail" ); | 48 | owarn << "No Thumbnail" << oendl; |
49 | pix = slave.pixmap(str, 24, 24); | 49 | pix = slave.pixmap(str, 24, 24); |
50 | } | 50 | } |
51 | 51 | ||
52 | if (!pix.isNull() ) { | 52 | if (!pix.isNull() ) { |
53 | qWarning( "Saving Thumbnail" ); | 53 | owarn << "Saving Thumbnail" << oendl; |
54 | ThumbNailTool::putThumb( str, pix, 24, 24 ); | 54 | ThumbNailTool::putThumb( str, pix, 24, 24 ); |
55 | } | 55 | } |
56 | 56 | ||
57 | } | 57 | } |
58 | 58 | ||
59 | #endif | 59 | #endif |
diff --git a/noncore/graphics/opie-eye/slave/slave.pro b/noncore/graphics/opie-eye/slave/slave.pro index 3f42495..903d667 100644 --- a/noncore/graphics/opie-eye/slave/slave.pro +++ b/noncore/graphics/opie-eye/slave/slave.pro | |||
@@ -1,18 +1,18 @@ | |||
1 | CONFIG += qte | 1 | CONFIG = qt |
2 | TEMPLATE = app | 2 | TEMPLATE = app |
3 | TARGET = opie-eye_slave | 3 | TARGET = opie-eye_slave |
4 | DESTDIR = $(OPIEDIR)/bin | 4 | DESTDIR = $(OPIEDIR)/bin |
5 | 5 | ||
6 | HEADERS = gif_slave.h slaveiface.h slavereciever.h \ | 6 | HEADERS = gif_slave.h slaveiface.h slavereciever.h \ |
7 | thumbnailtool.h png_slave.h jpeg_slave.h \ | 7 | thumbnailtool.h png_slave.h jpeg_slave.h \ |
8 | ../iface/slaveiface.h | 8 | ../iface/slaveiface.h |
9 | SOURCES = main.cpp gif_slave.cpp slavereciever.cpp \ | 9 | SOURCES = main.cpp gif_slave.cpp slavereciever.cpp \ |
10 | slaveiface.cpp thumbnailtool.cpp png_slave.cpp \ | 10 | slaveiface.cpp thumbnailtool.cpp png_slave.cpp \ |
11 | jpeg_slave.cpp | 11 | jpeg_slave.cpp |
12 | 12 | ||
13 | INCLUDEPATH += $(OPIEDIR)/include ../ | 13 | INCLUDEPATH += $(OPIEDIR)/include ../ |
14 | DEPENDSPATH += $(OPIEDIR)/include | 14 | DEPENDSPATH += $(OPIEDIR)/include |
15 | 15 | ||
16 | LIBS += -lqpe | 16 | LIBS += -lqpe -lopiecore2 |
17 | 17 | ||
18 | include ( $(OPIEDIR)/include.pro ) \ No newline at end of file | 18 | include ( $(OPIEDIR)/include.pro ) |
diff --git a/noncore/graphics/opie-eye/slave/slavereciever.cpp b/noncore/graphics/opie-eye/slave/slavereciever.cpp index bbbbb30..82b3d23 100644 --- a/noncore/graphics/opie-eye/slave/slavereciever.cpp +++ b/noncore/graphics/opie-eye/slave/slavereciever.cpp | |||
@@ -1,22 +1,26 @@ | |||
1 | /* | 1 | /* |
2 | * GPLv2 zecke@handhelds.org | 2 | * GPLv2 zecke@handhelds.org |
3 | */ | 3 | */ |
4 | 4 | ||
5 | #include "slavereciever.h" | 5 | #include "slavereciever.h" |
6 | #include "slaveiface.h" | 6 | #include "slaveiface.h" |
7 | 7 | ||
8 | /* OPIE */ | ||
9 | #include <opie2/odebug.h> | ||
8 | #include <qpe/qcopenvelope_qws.h> | 10 | #include <qpe/qcopenvelope_qws.h> |
9 | #include <qpe/qpeapplication.h> | 11 | #include <qpe/qpeapplication.h> |
12 | using namespace Opie::Core; | ||
10 | 13 | ||
14 | /* QT */ | ||
11 | #include <qtimer.h> | 15 | #include <qtimer.h> |
12 | 16 | ||
13 | static SlaveObjects* _slaveObj = 0; | 17 | static SlaveObjects* _slaveObj = 0; |
14 | 18 | ||
15 | QDataStream & operator << (QDataStream & str, bool b) | 19 | QDataStream & operator << (QDataStream & str, bool b) |
16 | { | 20 | { |
17 | str << Q_INT8(b); | 21 | str << Q_INT8(b); |
18 | return str; | 22 | return str; |
19 | } | 23 | } |
20 | 24 | ||
21 | QDataStream & operator >> (QDataStream & str, bool & b) | 25 | QDataStream & operator >> (QDataStream & str, bool & b) |
22 | { | 26 | { |
@@ -28,25 +32,25 @@ QDataStream & operator >> (QDataStream & str, bool & b) | |||
28 | 32 | ||
29 | 33 | ||
30 | 34 | ||
31 | QDataStream &operator<<( QDataStream& s, const PixmapInfo& inf) { | 35 | QDataStream &operator<<( QDataStream& s, const PixmapInfo& inf) { |
32 | return s << inf.file << inf.pixmap << inf.width << inf.height; | 36 | return s << inf.file << inf.pixmap << inf.width << inf.height; |
33 | } | 37 | } |
34 | 38 | ||
35 | /* | 39 | /* |
36 | * GUI sends no QPIxmap!!! | 40 | * GUI sends no QPIxmap!!! |
37 | */ | 41 | */ |
38 | QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) { | 42 | QDataStream &operator>>( QDataStream& s, PixmapInfo& inf ) { |
39 | s >> inf.file >> inf.width >> inf.height; | 43 | s >> inf.file >> inf.width >> inf.height; |
40 | qWarning( "Recieved %s %d %d", inf.file.latin1(), inf.width, inf.height ); | 44 | owarn << "Recieved " << inf.file.latin1() << " " << inf.width << " " << inf.height << "" << oendl; |
41 | return s; | 45 | return s; |
42 | } | 46 | } |
43 | QDataStream &operator<<( QDataStream& s, const ImageInfo& i) { | 47 | QDataStream &operator<<( QDataStream& s, const ImageInfo& i) { |
44 | return s << i.kind << i.file << i.info; | 48 | return s << i.kind << i.file << i.info; |
45 | } | 49 | } |
46 | QDataStream &operator>>( QDataStream& s, ImageInfo& i ) { | 50 | QDataStream &operator>>( QDataStream& s, ImageInfo& i ) { |
47 | s >> i.kind >> i.file >> i.info; | 51 | s >> i.kind >> i.file >> i.info; |
48 | return s; | 52 | return s; |
49 | } | 53 | } |
50 | 54 | ||
51 | 55 | ||
52 | 56 | ||
@@ -73,60 +77,60 @@ SlaveReciever::SlaveReciever( QObject* par) | |||
73 | SlaveObjects *obj = slaveObjects(); // won't be changed | 77 | SlaveObjects *obj = slaveObjects(); // won't be changed |
74 | SlaveMap::Iterator it; | 78 | SlaveMap::Iterator it; |
75 | SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!! | 79 | SlaveMap* map = slaveMap(); // SlaveMap won't be changed during execution!!! |
76 | for(it = map->begin(); it != map->end(); ++it ) { | 80 | for(it = map->begin(); it != map->end(); ++it ) { |
77 | obj->insert( it.key(), (*it.data())() ); | 81 | obj->insert( it.key(), (*it.data())() ); |
78 | } | 82 | } |
79 | } | 83 | } |
80 | 84 | ||
81 | SlaveReciever::~SlaveReciever() { | 85 | SlaveReciever::~SlaveReciever() { |
82 | } | 86 | } |
83 | 87 | ||
84 | void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar) { | 88 | void SlaveReciever::recieveAnswer( const QCString& string, const QByteArray& ar) { |
85 | qWarning( "String is %s", string.data() ); | 89 | owarn << "String is " << string.data() << "" << oendl; |
86 | QDataStream stream(ar, IO_ReadOnly ); | 90 | QDataStream stream(ar, IO_ReadOnly ); |
87 | QStringList lst; | 91 | QStringList lst; |
88 | static ImageInfo inf; | 92 | static ImageInfo inf; |
89 | static PixmapInfo pix; | 93 | static PixmapInfo pix; |
90 | 94 | ||
91 | if ( string == "thumbInfo(QString)" ) { | 95 | if ( string == "thumbInfo(QString)" ) { |
92 | stream >> inf.file; | 96 | stream >> inf.file; |
93 | m_inList.append(inf); | 97 | m_inList.append(inf); |
94 | }else if ( string == "thumbInfos(QStringList)" ) { | 98 | }else if ( string == "thumbInfos(QStringList)" ) { |
95 | stream >> lst; | 99 | stream >> lst; |
96 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { | 100 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { |
97 | qWarning( "Adding thumbinfo for file "+ *it ); | 101 | owarn << "Adding thumbinfo for file "+ *it << oendl; |
98 | inf.file = (*it); | 102 | inf.file = (*it); |
99 | m_inList.append(inf); | 103 | m_inList.append(inf); |
100 | } | 104 | } |
101 | }else if ( string == "fullInfo(QString)" ) { | 105 | }else if ( string == "fullInfo(QString)" ) { |
102 | inf.kind = true; | 106 | inf.kind = true; |
103 | stream >> inf.file; | 107 | stream >> inf.file; |
104 | m_inList.append(inf); | 108 | m_inList.append(inf); |
105 | }else if ( string == "fullInfos(QStringList)" ) { | 109 | }else if ( string == "fullInfos(QStringList)" ) { |
106 | stream >> lst; | 110 | stream >> lst; |
107 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { | 111 | for(QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { |
108 | qWarning( "Adding fullInfo for"+ *it ); | 112 | owarn << "Adding fullInfo for"+ *it << oendl; |
109 | inf.file = (*it); | 113 | inf.file = (*it); |
110 | inf.kind = true; | 114 | inf.kind = true; |
111 | m_inList.append(inf); | 115 | m_inList.append(inf); |
112 | } | 116 | } |
113 | }else if ( string == "pixmapInfo(QString,int,int)" ) { | 117 | }else if ( string == "pixmapInfo(QString,int,int)" ) { |
114 | stream >> pix.file >> pix.width >> pix.height; | 118 | stream >> pix.file >> pix.width >> pix.height; |
115 | m_inPix.append(pix); | 119 | m_inPix.append(pix); |
116 | }else if ( string == "pixmapInfos(PixmapInfos)" ) { | 120 | }else if ( string == "pixmapInfos(PixmapInfos)" ) { |
117 | PixmapList list; | 121 | PixmapList list; |
118 | stream >> list; | 122 | stream >> list; |
119 | for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) { | 123 | for(PixmapList::Iterator it = list.begin(); it != list.end(); ++it ) { |
120 | qWarning( "Got %d %d " + (*it).file, (*it).width , (*it).height ); | 124 | owarn << "Got " << (*it).width << " " << (*it).height << " " + (*it).file << oendl; |
121 | m_inPix.append(*it); | 125 | m_inPix.append(*it); |
122 | } | 126 | } |
123 | }else if ( string == "refUp()" ) { | 127 | }else if ( string == "refUp()" ) { |
124 | m_refs++; | 128 | m_refs++; |
125 | }else if ( string == "refDown()" ) { | 129 | }else if ( string == "refDown()" ) { |
126 | m_refs--; | 130 | m_refs--; |
127 | } | 131 | } |
128 | 132 | ||
129 | if (!m_inf->isActive() && !m_inList.isEmpty() ) | 133 | if (!m_inf->isActive() && !m_inList.isEmpty() ) |
130 | m_inf->start(5); | 134 | m_inf->start(5); |
131 | 135 | ||
132 | if (!m_pix->isActive() && !m_inPix.isEmpty() ) | 136 | if (!m_pix->isActive() && !m_inPix.isEmpty() ) |
@@ -172,55 +176,55 @@ void SlaveReciever::slotImageInfo() { | |||
172 | } | 176 | } |
173 | 177 | ||
174 | void SlaveReciever::slotThumbNail() { | 178 | void SlaveReciever::slotThumbNail() { |
175 | PixmapInfo inf = m_inPix.first(); | 179 | PixmapInfo inf = m_inPix.first(); |
176 | m_inPix.remove( inf ); | 180 | m_inPix.remove( inf ); |
177 | 181 | ||
178 | static SlaveObjects::Iterator it; | 182 | static SlaveObjects::Iterator it; |
179 | static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!! | 183 | static SlaveObjects* map = slaveObjects(); // SlaveMap won't be changed during execution!!! |
180 | for(it = map->begin(); it != map->end(); ++it ) { | 184 | for(it = map->begin(); it != map->end(); ++it ) { |
181 | SlaveInterface* iface = it.data(); | 185 | SlaveInterface* iface = it.data(); |
182 | if( iface->supports(inf.file ) ) { | 186 | if( iface->supports(inf.file ) ) { |
183 | /* pixmap */ | 187 | /* pixmap */ |
184 | qWarning( "Asking for thumbNail in size %d %d for "+inf.file, inf.width, inf.height ); | 188 | owarn << "Asking for thumbNail in size " << inf.width << " " << inf.height << " for "+inf.file << oendl; |
185 | inf.pixmap = iface->pixmap(inf.file, 64, 64); | 189 | inf.pixmap = iface->pixmap(inf.file, 64, 64); |
186 | m_outPix.append( inf ); | 190 | m_outPix.append( inf ); |
187 | break; | 191 | break; |
188 | } | 192 | } |
189 | } | 193 | } |
190 | 194 | ||
191 | 195 | ||
192 | 196 | ||
193 | if(m_inPix.isEmpty() ) | 197 | if(m_inPix.isEmpty() ) |
194 | m_pix->stop(); | 198 | m_pix->stop(); |
195 | if(!m_out->isActive() && !m_outPix.isEmpty() ) | 199 | if(!m_out->isActive() && !m_outPix.isEmpty() ) |
196 | m_out->start(100); | 200 | m_out->start(100); |
197 | } | 201 | } |
198 | 202 | ||
199 | void SlaveReciever::slotSend() { | 203 | void SlaveReciever::slotSend() { |
200 | 204 | ||
201 | m_out->stop(); | 205 | m_out->stop(); |
202 | 206 | ||
203 | qWarning( "Sending %d %d", outPix().count(), outInf().count() ); | 207 | owarn << "Sending " << outPix().count() << " " << outInf().count() << "" << oendl; |
204 | /* queue it and send */ | 208 | /* queue it and send */ |
205 | /* if this ever gets a service introduce request queues | 209 | /* if this ever gets a service introduce request queues |
206 | * so we can differinatate between different clients | 210 | * so we can differinatate between different clients |
207 | */ | 211 | */ |
208 | if (! m_outPix.isEmpty() ) { | 212 | if (! m_outPix.isEmpty() ) { |
209 | QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(PixmapList)" ); | 213 | QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(PixmapList)" ); |
210 | answer << outPix(); | 214 | answer << outPix(); |
211 | for ( PixmapList::Iterator it = m_outPix.begin();it!=m_outPix.end();++it ) { | 215 | for ( PixmapList::Iterator it = m_outPix.begin();it!=m_outPix.end();++it ) { |
212 | qWarning( "Sending out %s %d %d", (*it).file.latin1(), (*it).width, (*it).height ); | 216 | owarn << "Sending out " << (*it).file.latin1() << " " << (*it).width << " " << (*it).height << "" << oendl; |
213 | } | 217 | } |
214 | } | 218 | } |
215 | if ( !m_outList.isEmpty() ) { | 219 | if ( !m_outList.isEmpty() ) { |
216 | QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(StringList)" ); | 220 | QCopEnvelope answer("QPE/opie-eye", "pixmapsHandled(StringList)" ); |
217 | answer << outInf(); | 221 | answer << outInf(); |
218 | for ( StringList::Iterator it = m_outList.begin();it!=m_outList.end();++it ) { | 222 | for ( StringList::Iterator it = m_outList.begin();it!=m_outList.end();++it ) { |
219 | qWarning( "Sending out2 " + (*it).file ); | 223 | owarn << "Sending out2 " + (*it).file << oendl; |
220 | } | 224 | } |
221 | } | 225 | } |
222 | 226 | ||
223 | m_outList.clear(); | 227 | m_outList.clear(); |
224 | m_outPix.clear(); | 228 | m_outPix.clear(); |
225 | } | 229 | } |
226 | 230 | ||
diff --git a/noncore/graphics/opie-eye/slave/thumbnailtool.cpp b/noncore/graphics/opie-eye/slave/thumbnailtool.cpp index a202457..d2e169c 100644 --- a/noncore/graphics/opie-eye/slave/thumbnailtool.cpp +++ b/noncore/graphics/opie-eye/slave/thumbnailtool.cpp | |||
@@ -1,14 +1,19 @@ | |||
1 | #include "thumbnailtool.h" | 1 | #include "thumbnailtool.h" |
2 | 2 | ||
3 | /* OPIE */ | ||
4 | #include <opie2/odebug.h> | ||
5 | using namespace Opie::Core; | ||
6 | |||
7 | /* QT */ | ||
3 | #include <qfileinfo.h> | 8 | #include <qfileinfo.h> |
4 | #include <qdir.h> | 9 | #include <qdir.h> |
5 | #include <qimage.h> | 10 | #include <qimage.h> |
6 | #include <qpixmap.h> | 11 | #include <qpixmap.h> |
7 | #include <qstring.h> | 12 | #include <qstring.h> |
8 | 13 | ||
9 | static bool makeThumbDir( const QFileInfo& inf, bool make = false) { | 14 | static bool makeThumbDir( const QFileInfo& inf, bool make = false) { |
10 | QDir dir( inf.dirPath()+ "/.opie-eye" ); | 15 | QDir dir( inf.dirPath()+ "/.opie-eye" ); |
11 | if ( !dir.exists() ) | 16 | if ( !dir.exists() ) |
12 | if ( make ) | 17 | if ( make ) |
13 | return dir.mkdir(QString::null); | 18 | return dir.mkdir(QString::null); |
14 | else | 19 | else |
@@ -17,40 +22,40 @@ static bool makeThumbDir( const QFileInfo& inf, bool make = false) { | |||
17 | } | 22 | } |
18 | 23 | ||
19 | 24 | ||
20 | /* | 25 | /* |
21 | * check if the Opie opie-eye dir exists | 26 | * check if the Opie opie-eye dir exists |
22 | * check if a thumbnail exists | 27 | * check if a thumbnail exists |
23 | * load the thumbnail | 28 | * load the thumbnail |
24 | * /foo/bar/imagefoo.gif | 29 | * /foo/bar/imagefoo.gif |
25 | * check for a png in /foo/bar/.opie-eye/%dx%d-imagefoo.gif | 30 | * check for a png in /foo/bar/.opie-eye/%dx%d-imagefoo.gif |
26 | */ | 31 | */ |
27 | QPixmap ThumbNailTool::getThumb( const QString& path, int width, int height ) { | 32 | QPixmap ThumbNailTool::getThumb( const QString& path, int width, int height ) { |
28 | QFileInfo inf( path ); | 33 | QFileInfo inf( path ); |
29 | qWarning( "Get Thumb" ); | 34 | owarn << "Get Thumb" << oendl; |
30 | if ( !makeThumbDir( inf ) ) { | 35 | if ( !makeThumbDir( inf ) ) { |
31 | QPixmap pix; | 36 | QPixmap pix; |
32 | return pix; | 37 | return pix; |
33 | } | 38 | } |
34 | QString str = QString( "/.opie-eye/%1x%2-%3" ).arg( width ).arg( height ).arg( inf.fileName() ); | 39 | QString str = QString( "/.opie-eye/%1x%2-%3" ).arg( width ).arg( height ).arg( inf.fileName() ); |
35 | qWarning( inf.dirPath()+str ); | 40 | owarn << inf.dirPath()+str << oendl; |
36 | return QPixmap( inf.dirPath()+str,"PNG" ); | 41 | return QPixmap( inf.dirPath()+str,"PNG" ); |
37 | 42 | ||
38 | } | 43 | } |
39 | 44 | ||
40 | void ThumbNailTool::putThumb( const QString& path, const QPixmap& pix, int width, int height ) { | 45 | void ThumbNailTool::putThumb( const QString& path, const QPixmap& pix, int width, int height ) { |
41 | QFileInfo inf( path ); | 46 | QFileInfo inf( path ); |
42 | makeThumbDir( inf, true ); | 47 | makeThumbDir( inf, true ); |
43 | QString str = QString( "/.opie-eye/%1x%2-%3" ).arg( width ).arg( height ).arg( inf.fileName() ); | 48 | QString str = QString( "/.opie-eye/%1x%2-%3" ).arg( width ).arg( height ).arg( inf.fileName() ); |
44 | qWarning( inf.dirPath()+str ); | 49 | owarn << inf.dirPath()+str << oendl; |
45 | pix.save( inf.dirPath()+str, "PNG" ); | 50 | pix.save( inf.dirPath()+str, "PNG" ); |
46 | } | 51 | } |
47 | 52 | ||
48 | 53 | ||
49 | QPixmap ThumbNailTool::scaleImage( QImage& img, int w, int h ) { | 54 | QPixmap ThumbNailTool::scaleImage( QImage& img, int w, int h ) { |
50 | double hs = (double)h / (double)img.height() ; | 55 | double hs = (double)h / (double)img.height() ; |
51 | double ws = (double)w / (double)img.width() ; | 56 | double ws = (double)w / (double)img.width() ; |
52 | double scaleFactor = (hs > ws) ? ws : hs; | 57 | double scaleFactor = (hs > ws) ? ws : hs; |
53 | int smoothW = (int)(scaleFactor * img.width()); | 58 | int smoothW = (int)(scaleFactor * img.width()); |
54 | int smoothH = (int)(scaleFactor * img.height()); | 59 | int smoothH = (int)(scaleFactor * img.height()); |
55 | QPixmap pixmap; | 60 | QPixmap pixmap; |
56 | if ( img.width() <= w && img.height() <= h ) | 61 | if ( img.width() <= w && img.height() <= h ) |