From 931d8374a54005c3d2953d74ecec910cc18de096 Mon Sep 17 00:00:00 2001 From: tariq Date: Wed, 26 Apr 2006 09:38:01 +0000 Subject: [PATCH] fixed error message when using en_US locale, added new cmd line parameter '-lang', added some templates for Auto-Type (still incomplete) git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@77 b624d157-de02-0410-bad0-e51aec6abb33 --- src/lib/AutoType.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++-- src/lib/AutoType.h | 1 + src/main.cpp | 36 ++++++++++++++++++++++++--------- 3 files changed, 74 insertions(+), 11 deletions(-) diff --git a/src/lib/AutoType.cpp b/src/lib/AutoType.cpp index 7027812..2d2e6b2 100644 --- a/src/lib/AutoType.cpp +++ b/src/lib/AutoType.cpp @@ -21,7 +21,7 @@ #include "AutoType.h" #include #include -/* { 0x05c7, 0x0627 }, Arabic_alef ا ARABIC LETTER ALEF */ + QWidget* AutoType::MainWin=NULL; @@ -102,13 +102,13 @@ for(int i=0;ihide(); Display* pDisplay = XOpenDisplay( NULL ); for(int i=0;i& KeySymList){ diff --git a/src/lib/AutoType.h b/src/lib/AutoType.h index cab1121..77bdaff 100644 --- a/src/lib/AutoType.h +++ b/src/lib/AutoType.h @@ -27,6 +27,7 @@ #ifdef Q_WS_X11 #define XK_MISCELLANY #define XK_XKB_KEYS + #define XK_3270 #include #include #include diff --git a/src/main.cpp b/src/main.cpp index 1111cdd..6111827 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -75,15 +75,15 @@ QIcon *Icon_Help; QIcon *Icon_AutoType; inline void loadImages(); -inline void parseCmdLineArgs(int argc, char** argv,QString &ArgFile,QString& ArgCfg); +inline void parseCmdLineArgs(int argc, char** argv,QString &ArgFile,QString& ArgCfg,QString& ArgLang); int main(int argc, char **argv) { QApplication* app=new QApplication(argc,argv); -QString ArgFile,ArgCfg,IniFilename; -parseCmdLineArgs(argc,argv,ArgFile,ArgCfg); +QString ArgFile,ArgCfg,ArgLang,IniFilename; +parseCmdLineArgs(argc,argv,ArgFile,ArgCfg,ArgLang); AppDir=app->applicationDirPath(); //Load Config if(ArgCfg==QString()){ @@ -102,15 +102,23 @@ else{ //Internationalization -QLocale loc=QLocale::system(); +QLocale loc; +if(!ArgLang.size()) + loc=QLocale::system(); +else + loc=QLocale(ArgLang); + QTranslator* translator = NULL; QTranslator* qtTranslator=NULL; translator=new QTranslator; qtTranslator=new QTranslator; bool TrFound=true; +QString locname; + if(!translator->load("keepass-"+loc.name(),app->applicationDirPath()+"/../share/keepass/i18n/")){ if(!translator->load("keepass-"+loc.name(),QDir::homeDirPath()+"/.keepass/")){ - qWarning(QString("KeePassX: No Translation found for language '%1 (%2)'") + if(loc.name()!="en_US") + qWarning(QString("KeePassX: No Translation found language '%1 (%2)' using 'English (UnitedStates)'") .arg(QLocale::languageToString(loc.language())) .arg(QLocale::countryToString(loc.country()))); TrFound=false; @@ -124,7 +132,8 @@ else if(!qtTranslator->load("qt_"+loc.name().left(2),QLibraryInfo::location(QLibraryInfo::TranslationsPath))){ - qWarning(QString("Qt: No Translation found for '%1 (%2)'") + if(loc.name()!="en_US") + qWarning(QString("Qt: No Translation found for '%1 (%2)'using 'English (UnitedStates)'") .arg(QLocale::languageToString(loc.language())) .arg(QLocale::countryToString(loc.country()))); delete qtTranslator; @@ -287,7 +296,7 @@ _loadIcon(Icon_AutoType,"/apps/ktouch.png"); } -void parseCmdLineArgs(int argc, char** argv,QString &ArgFile,QString& ArgCfg){ +void parseCmdLineArgs(int argc, char** argv,QString &ArgFile,QString& ArgCfg,QString& ArgLang){ if(argc>1){ int i=1; if(argv[i][0]!='-'){ @@ -298,13 +307,22 @@ int i=1; cout << "KeePassX" << KEEPASS_VERSION << endl; cout << "Usage: keepass [Filename] [Options]" << endl; cout << " -h This Help" << endl; - cout << " -cfg ConfigFile Use specified configuration" << endl; + cout << " -cfg Use specified configuration." << endl; + cout << " -lang Use specified language instead of system default." << endl; + cout << " is the ISO-639 language code with or without ISO-3166 country code" << endl; + cout << " Examples: de German" << endl; + cout << " de_CH German(Switzerland)"<