-rw-r--r-- | library/qpeapplication.cpp | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 3efba20..0b6d56d 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -384,17 +384,17 @@ public: } else if ( keep_running ) { show_mx(mw, nomax, appName); } } void loadTextCodecs() { - QString path = QPEApplication::qpeDir() + "/plugins/textcodecs"; + QString path = QPEApplication::qpeDir() + "plugins/textcodecs"; #ifdef Q_OS_MACX QDir dir( path, "lib*.dylib" ); #else QDir dir( path, "lib*.so" ); #endif QStringList list; if ( dir. exists ( )) list = dir.entryList(); @@ -413,17 +413,17 @@ public: lib->unload(); delete lib; } } } void loadImageCodecs() { - QString path = QPEApplication::qpeDir() + "/plugins/imagecodecs"; + QString path = QPEApplication::qpeDir() + "plugins/imagecodecs"; #ifdef Q_OS_MACX QDir dir( path, "lib*.dylib" ); #else QDir dir( path, "lib*.so" ); #endif QStringList list; if ( dir. exists ( )) list = dir.entryList(); @@ -1182,21 +1182,34 @@ QPEApplication::~QPEApplication() delete d; } /*! Returns <tt>$OPIEDIR/</tt>. */ QString QPEApplication::qpeDir() { - const char * base = getenv( "OPIEDIR" ); - if ( base ) - return QString( base ) + "/"; + QString base, dir; + + if (getenv( "OPIEDIR" )) + base = QString(getenv("OPIEDIR")).stripWhiteSpace(); + if ( !base.isNull() && (base.length() > 0 )){ +#ifdef Q_OS_WIN32 + QString temp(base); + if (temp[(int)temp.length()-1] != QDir::separator()) + temp.append(QDir::separator()); + dir = temp; +#else + dir = QString( base ) + "/"; +#endif + }else{ + dir = QString( ".." ) + QDir::separator(); + } - return QString( "../" ); + return dir; } /*! Returns the user's current Document directory. There is a trailing "/". .. well, it does now,, and there's no trailing '/' */ QString QPEApplication::documentDir() { @@ -1830,17 +1843,17 @@ void QPEApplication::internalSetStyle( const QString &style ) #ifndef QT_NO_STYLE_MOTIFPLUS else if ( style == "MotifPlus" ) { setStyle( new QMotifPlusStyle ); } #endif else { QStyle *sty = 0; - QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/"; + QString path = QPEApplication::qpeDir ( ) + "plugins/styles/"; #ifdef Q_OS_MACX if ( style. find ( ".dylib" ) > 0 ) path += style; else path = path + "lib" + style. lower ( ) + ".dylib"; // compatibility #else if ( style. find ( ".so" ) > 0 ) |