Diffstat (limited to 'noncore/graphics/opie-eye/slave/thumbnailtool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/slave/thumbnailtool.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
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,61 +1,66 @@ | |||
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 |
15 | return false; | 20 | return false; |
16 | return true; | 21 | return true; |
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 ) |
57 | pixmap.convertFromImage( img ); | 62 | pixmap.convertFromImage( img ); |
58 | else | 63 | else |
59 | pixmap.convertFromImage( img.smoothScale( smoothW, smoothH) ); | 64 | pixmap.convertFromImage( img.smoothScale( smoothW, smoothH) ); |
60 | return pixmap; | 65 | return pixmap; |
61 | } | 66 | } |