author | mickeyl <mickeyl> | 2005-02-19 17:18:27 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-02-19 17:18:27 (UTC) |
commit | be32e0c045814142954ac37c89715313633d6aa2 (patch) (side-by-side diff) | |
tree | 93a6fc7a84b4073fb04cc0b3377c4bb7e11bd091 | |
parent | b7bf9c7acdc010eb30bc246372efb0d1b394166a (diff) | |
download | opie-be32e0c045814142954ac37c89715313633d6aa2.zip opie-be32e0c045814142954ac37c89715313633d6aa2.tar.gz opie-be32e0c045814142954ac37c89715313633d6aa2.tar.bz2 |
make inline image support optional
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 4 | ||||
-rw-r--r-- | library/resource.cpp | 34 |
4 files changed, 38 insertions, 6 deletions
@@ -11,34 +11,35 @@ * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp) * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke) * #1482 - Fix double '/' in paths (zecke) * #1536 - Autosave of custom locations in opie backup (ar) * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke) * #1540 - Implemented deletion of DocLnks in opie-eye (zecke) * #1542 - Fix Todo crash when priority < 1 or > 5 (drw) * #1550 - Browse for alarm sound start in QPEDIR/sounds/ (zecke) * #1554 - Fixed Opie-Console name in .desktop file (mickeyl) * #1556 - Start to look for sound files in /opt/QtPalmtop/sounds (zecke) * #1558 - Fixed opie-login breaking opie startup (mickeyl) * #1570 - Confirmation needed befor Restore a backup and overwrite local data (ar) * n.a. - PackageManager - fixed where last package in status file was not shown as installed when it should be (drw) Internal -------- - * Work around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl) + * Worked around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl) * Killed the need for weak symbols in QtE (zecke) + * Added optional building libqpe without inline images (mickeyl) 2005-02-03 Opie 1.1.9 New Features ------------ * Number of icon columns in Launcher is customizable through Launcher.conf (hrw,zecke,mickeyl) * Number of icon columns in Launcher is customizable through LauncherSettings (mickeyl) * Usability enhancements in OpieIRC (skyhusker) Fixed Bugs ---------- * #1501 - Fixed bug in todo sql backend (eilers) * #1505 - Added more Swap sizes in memoryapplet (mickeyl) * #1525 - Hopefully fixed double alarms and not removing alarms set with the Clock application (zecke) * #1533 - Security Owner Dialog (shown in case of unsuccessfull authentiacation) wasn't able to display information in non latin1 encoding (zecke) * n.a. - Removed hard coded font sizes in a couple of inputmethods (mickeyl) @@ -47,32 +47,35 @@ else echo contains\( CONFIG, quick-app \) \{ >> $@ echo CONFIG -= quick-app >> $@ echo CONFIG += quick-app-bin >> $@ echo \} >> $@ endif ifeq ($(CONFIG_SQL_PIM_BACKEND),y) echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@ else echo ENABLE_SQL_PIM_BACKEND=n >> $@ endif ifeq ($(CONFIG_OPIELOGIN_USEPAM),y) echo CONFIG += OPIELOGIN_USEPAM >> $@ endif ifeq ($(CONFIG_LIBQPE_WITHROHFEEDBACK),y) echo CONFIG += LIBQPE_WITHROHFEEDBACK >> $@ endif +ifeq ($(CONFIG_LIBQPE_NO_INLINE_IMAGES),y) + echo DEFINES += LIBQPE_NO_INLINE_IMAGES >> $@ +endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ endif ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ endif ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) echo DEFINES += USE_FILE_NOTIFICATION >> $@ endif ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ endif ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) @@ -157,32 +157,36 @@ config USE_FILE_NOTIFICATION default y config OPIE_NEW_ALLOC boolean "Use malloc and free for the implementation" default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) config OPIE_TASKBAR_LOCK_KEY_STATE boolean "Have a KeyLock state indicator on the taskbar" default y if TARGET_SHARP default n if !TARGET_SHARP config LIBQPE_WITHROHFEEDBACK boolean "Build libqpe with Right-On-Hold feedback" default y +config LIBQPE_NO_INLINE_IMAGES + boolean "Build libqpe without inline images" + default y + config OPIE_NO_SOUND_PCM_READ_BITS boolean "There is not a pcm_read_bits io control" default y if TARGET_SHARP default n if ! TARGET_SHARP endmenu menu "Dependencies" source dependencies.in endmenu menu "Base" choice prompt "Qpe Library Selection" default LIBQPE source library/config.in source x11/config.in diff --git a/library/resource.cpp b/library/resource.cpp index b31876f..3b5e9ec 100644 --- a/library/resource.cpp +++ b/library/resource.cpp @@ -16,35 +16,37 @@ ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #define QTOPIA_INTERNAL_MIMEEXT #include <qpe/qpeapplication.h> #include "resource.h" #include "mimetype.h" #include <qdir.h> #include <qpixmapcache.h> // this namespace is just a workaround for a gcc bug // gcc exports inline functions in the generated file // inlinepics_p.h +#ifndef LIBQPE_NO_INLINE_IMAGES namespace { #include "inlinepics_p.h" } +#endif static bool g_notUseSet = ::getenv("OVERWRITE_ICON_SET"); /*! \class Resource resource.h \brief The Resource class provides access to named resources. The resources may be provided from files or other sources. The allSounds() function returns a list of all the sounds available. A particular sound can be searched for using findSound(). Images can be loaded with loadImage(), loadPixmap(), loadBitmap() and loadIconSet(). \ingroup qtopiaemb @@ -83,43 +85,53 @@ QPixmap Resource::loadPixmap( const QString &pix ) QBitmap Resource::loadBitmap( const QString &pix ) { QBitmap bm; bm = loadPixmap(pix); return bm; } /*! Returns the filename of a pixmap called \a pix. You should avoid including any filename type extension (e.g. .png, .xpm). Normally you will use loadPixmap() rather than this function. */ QString Resource::findPixmap( const QString &pix ) { QString picsPath = QPEApplication::qpeDir() + "pics/"; - QString f; // Common case optimizations... f = picsPath + pix + ".png"; if ( QFile( f ).exists() ) return f; f = picsPath + pix + ".xpm"; if ( QFile( f ).exists() ) return f; +#ifdef LIBQPE_NO_INLINE_IMAGES + QString picsPathInline = picsPath + "inline/"; + // Common case optimizations... + f = picsPathInline + pix + ".png"; + if ( QFile( f ).exists() ) + return f; + f = picsPathInline + pix + ".xpm"; + if ( QFile( f ).exists() ) + return f; +#endif + // All formats... QStrList fileFormats = QImageIO::inputFormats(); QString ff = fileFormats.first(); while ( fileFormats.current() ) { QStringList exts = MimeType("image/"+ff.lower()).extensions(); for ( QStringList::ConstIterator it = exts.begin(); it!=exts.end(); ++it ) { QString f = picsPath + pix + "." + *it; if ( QFile(f).exists() ) return f; } ff = fileFormats.next(); } // Finally, no (or existing) extension... if ( QFile( picsPath + pix ).exists() ) return picsPath + pix; @@ -150,46 +162,58 @@ QString Resource::findSound( const QString &name ) /*! Returns a list of all sound names. */ QStringList Resource::allSounds() { QDir resourcedir( QPEApplication::qpeDir() + "sounds/", "*.wav" ); QStringList entries = resourcedir.entryList(); QStringList result; for (QStringList::Iterator i=entries.begin(); i != entries.end(); ++i) result.append((*i).replace(QRegExp("\\.wav"),"")); return result; } static QImage load_image(const QString &name) { + QImage img; + if (g_notUseSet ) { // try file - QImage img; QString f = Resource::findPixmap(name); if ( !f.isEmpty() ) img.load(f); +#ifndef LIBQPE_NO_INLINE_IMAGES if (img.isNull() ) img = qembed_findImage(name.latin1() ); +#endif return img; } else{ - QImage img = qembed_findImage(name.latin1()); - - if ( img.isNull() ) { +#ifndef LIBQPE_NO_INLINE_IMAGES + img = qembed_findImage(name.latin1()); +#else + QString f = Resource::findPixmap( "/inline/" + name ); + if ( !f.isEmpty() ) + { + img.load(f); + return img; + } +#endif + if ( img.isNull() ) + { // No inlined image, try file QString f = Resource::findPixmap(name); if ( !f.isEmpty() ) img.load(f); } return img; } } /*! Returns the QImage called \a name. You should avoid including any filename type extension (e.g. .png, .xpm). */ QImage Resource::loadImage( const QString &name) { #ifndef QT_NO_DEPTH_32 // have alpha-blended pixmaps |