summaryrefslogtreecommitdiff
authorzecke <zecke>2003-05-12 13:07:37 (UTC)
committer zecke <zecke>2003-05-12 13:07:37 (UTC)
commit4765c92ba3dcbd829cb2adde4a097dfe6283d7cc (patch) (side-by-side diff)
tree7a13062058737af1564863f9caec692f145fdfaa
parent65a043f4ac4b43967947c1e8d99c629bb993f065 (diff)
downloadopie-4765c92ba3dcbd829cb2adde4a097dfe6283d7cc.zip
opie-4765c92ba3dcbd829cb2adde4a097dfe6283d7cc.tar.gz
opie-4765c92ba3dcbd829cb2adde4a097dfe6283d7cc.tar.bz2
Hospital Hacking Session
Install libopie.qm make apps fully translatable... refactor installing trans into a method instead of having the same code copy and pasted three times
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp30
-rw-r--r--library/qpeapplication.h3
2 files changed, 18 insertions, 15 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index e5da48c..f4db1ab 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -598,32 +598,20 @@ QPEApplication::QPEApplication( int & argc, char **argv, Type t )
// qwsSetDecoration( new QPEDecoration() );
#ifndef QT_NO_TRANSLATION
QStringList langs = Global::languageList();
for ( QStringList::ConstIterator it = langs.begin(); it != langs.end(); ++it ) {
QString lang = *it;
- QTranslator * trans;
- QString tfn;
+ installTranslation( lang + "/libopie.qm");
+ installTranslation( lang + "/libqpe.qm" );
+ installTranslation( lang + "/" + d->appName + ".qm" );
- trans = new QTranslator( this );
- tfn = qpeDir() + "/i18n/" + lang + "/libqpe.qm";
- if ( trans->load( tfn ) )
- installTranslator( trans );
- else
- delete trans;
-
- trans = new QTranslator( this );
- tfn = qpeDir() + "/i18n/" + lang + "/" + d->appName + ".qm";
- if ( trans->load( tfn ) )
- installTranslator( trans );
- else
- delete trans;
//###language/font hack; should look it up somewhere
#ifdef QWS
if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) {
QFont fn = FontManager::unicodeFont( FontManager::Proportional );
setFont( fn );
}
@@ -1722,16 +1710,28 @@ void QPEApplication::tryQuit()
#endif
processEvents();
quit();
}
/*!
\internal
+*/
+void QPEApplication::installTranslation( const QString& baseName ) {
+ QTranslator* trans = new QTranslator(this);
+ QString tfn = qpeDir() + "/i18n/"+baseName;
+ if ( trans->load( tfn ) )
+ installTranslator( trans );
+ else
+ delete trans;
+}
+
+/*!
+ \internal
User initiated quit. Makes the window 'Go Away'. If preloaded this means
hiding the window. If not it means quitting the application.
As this is user initiated we don't need to check state.
*/
void QPEApplication::hideOrQuit()
{
processEvents();
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 0bad8b7..e35c008 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -117,16 +117,19 @@ protected:
bool eventFilter( QObject *, QEvent * );
void timerEvent( QTimerEvent * );
bool raiseAppropriateWindow();
virtual void tryQuit();
virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
private:
+#ifndef QT_NO_TRANSLATION
+ void installTranslation( const QString& baseName );
+#endif
void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
QCopChannel *sysChannel;
QCopChannel *pidChannel;
#endif
QPEApplicationData *d;