From 147deca55d9ceef5caaa952cc0bc063cdc4531d5 Mon Sep 17 00:00:00 2001 From: xavierqet Date: Sun, 17 Aug 2008 21:08:31 +0000 Subject: [PATCH] Ajout de l'option --lang-dir pour redefinir le dossier contenant les fichiers de langue git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@378 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- lang/qet_en.qm | Bin 54945 -> 55200 bytes lang/qet_en.ts | 77 +++++++++++++++++++++------------------ sources/qetapp.cpp | 22 +++++++++++ sources/qetapp.h | 2 + sources/qetarguments.cpp | 26 ++++++++++++- sources/qetarguments.h | 3 ++ 6 files changed, 94 insertions(+), 36 deletions(-) diff --git a/lang/qet_en.qm b/lang/qet_en.qm index adb75d7818ccc561ad61a6502757b5fe3e4cc9ee..f22ab3af80d9303dd5128a8bc84a42c545c658a5 100644 GIT binary patch delta 4034 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 R7O%y(|NKSq-|>Z${|Ebf DiagramPrintDialog - + Options d'impression Print options - + Utiliser toute la feuille Use full page - + Adapter le schéma à la page Fit diagram to page - + Plage de Range from - + à to - + Nombre total de pages : Total pages count: @@ -323,17 +323,17 @@ Do you wish to save the diagram - + nouveau schéma new diagram - + Éditer les propriétés d'un conducteur Edit conductor properties - + Propriétés du schéma Diagram properties @@ -363,7 +363,7 @@ Height: - + Éditer les propriétés par défaut des conducteurs Edit conductors default properties @@ -383,7 +383,7 @@ This document seems to have been saved by a more recent version of QElectroTech. The opening of the document may fail totally or partially. - + schema diagram @@ -1265,87 +1265,87 @@ Changes will be permanent. QETApp - + QElectroTech QElectroTech - + &Quitter &Quit - + &Masquer &Hide - + &Restaurer &Show - + &Masquer tous les éditeurs de schéma &Hide diagram editors - + &Restaurer tous les éditeurs de schéma &Show diagram editors - + &Masquer tous les éditeurs d'élément &Hide element editors - + &Restaurer tous les éditeurs d'élément &Show element editors - + &Nouvel éditeur de schéma &New diagram editor - + &Nouvel éditeur d'élément &New element editor - + Ferme l'application QElectroTech Closes QElectroTech - + Réduire QElectroTech dans le systray Reduces QElectroTech into the systray - + Restaurer QElectroTech Restore QElectroTech - + Éditeurs de schémas Diagram editors - + Éditeurs d'élément Element editors - + Usage : Usage: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -1362,7 +1362,7 @@ Available options: - + [options] [fichier]... @@ -1371,39 +1371,46 @@ Available options: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define the elements collection directory - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define configuration directory - + Chargement... Éditeur de schémas Loading... Diagrams editor - + Chargement... Ouverture des fichiers Loading... Opening files - + Chargement... Loading... - + Chargement... icône du systray Loading... Systray icon + + + --lang-dir=DIR Definir le dossier contenant les fichiers de langue + + --lang-dir=DIR Define the language files directory + + QETDiagramEditor diff --git a/sources/qetapp.cpp b/sources/qetapp.cpp index 335b3b5db..7eaf2216e 100644 --- a/sources/qetapp.cpp +++ b/sources/qetapp.cpp @@ -26,6 +26,7 @@ QString QETApp::common_elements_dir = QString(); QString QETApp::config_dir = QString(); +QString QETApp::lang_dir = QString(); QString QETApp::diagram_texts_font = QString(); RecentFiles *QETApp::projects_recent_files_ = 0; RecentFiles *QETApp::elements_recent_files_ = 0; @@ -337,15 +338,31 @@ void QETApp::overrideConfigDir(const QString &new_cd) { } #endif +/** + Redefinit le chemin du dossier contenant les fichiers de langue + @param new_ld Nouveau chemin du dossier contenant les fichiers de langue +*/ +void QETApp::overrideLangDir(const QString &new_ld) { + QFileInfo new_ld_info(new_ld); + if (new_ld_info.isDir()) { + lang_dir = new_ld_info.absoluteFilePath(); + if (!lang_dir.endsWith("/")) lang_dir += "/"; + } +} + /** @return Le chemin du dossier contenant les fichiers de langue */ QString QETApp::languagesPath() { + if (!lang_dir.isEmpty()) { + return(lang_dir); + } else { #ifndef QET_LANG_PATH return(QDir::current().path() + "/lang/"); #else return(QUOTE(QET_LANG_PATH)); #endif + } } /** @@ -603,6 +620,10 @@ void QETApp::parseArguments() { } #endif + if (qet_arguments_.langDirSpecified()) { + overrideLangDir(qet_arguments_.langDir()); + } + if (qet_arguments_.printLicenseRequested()) { printLicense(); non_interactive_execution_ = true; @@ -827,6 +848,7 @@ void QETApp::printHelp() { #ifdef QET_ALLOW_OVERRIDE_CD_OPTION + tr(" --config-dir=DIR Definir le dossier de configuration\n") #endif + + tr(" --lang-dir=DIR Definir le dossier contenant les fichiers de langue\n") ); std::cout << qPrintable(help) << std::endl; } diff --git a/sources/qetapp.h b/sources/qetapp.h index f4271394f..979ab8171 100644 --- a/sources/qetapp.h +++ b/sources/qetapp.h @@ -72,6 +72,8 @@ class QETApp : public QETSingleApplication { static QString config_dir; ///< Dossier contenant la configuration et la collection d'elements de l'utilisateur #endif public: + static void overrideLangDir(const QString &); + static QString lang_dir; ///< Dossier contenant les fichiers de langue static QString diagramTextsFont(); protected: diff --git a/sources/qetarguments.cpp b/sources/qetarguments.cpp index 198c24f18..b8c0fe0a6 100644 --- a/sources/qetarguments.cpp +++ b/sources/qetarguments.cpp @@ -59,6 +59,7 @@ QETArguments::QETArguments(const QETArguments &qet_arguments) : #ifdef QET_ALLOW_OVERRIDE_CD_OPTION config_dir_(qet_arguments.config_dir_), #endif + lang_dir_(qet_arguments.lang_dir_), print_help_(qet_arguments.print_help_), print_license_(qet_arguments.print_license_), print_version_(qet_arguments.print_version_) @@ -80,6 +81,7 @@ QETArguments &QETArguments::operator=(const QETArguments &qet_arguments) { #ifdef QET_ALLOW_OVERRIDE_CD_OPTION config_dir_ = qet_arguments.config_dir_; #endif + lang_dir_ = qet_arguments.lang_dir_; print_help_ = qet_arguments.print_help_; print_license_ = qet_arguments.print_license_; print_version_ = qet_arguments.print_version_; @@ -199,7 +201,8 @@ void QETArguments::handleFileArgument(const QString &file) { Gere les arguments correspondant potentiellement a une option. Les options reconnues sont : * --common-elements-dir= - * --config-dir + * --config-dir= + * --lang-dir= * --help * --version * -v @@ -237,6 +240,12 @@ void QETArguments::handleOptionArgument(const QString &option) { #endif + QString ld_arg("--lang-dir="); + if (option.startsWith(ld_arg)) { + lang_dir_ = option.mid(ld_arg.length()); + return; + } + // a ce stade, l'option est inconnue unknown_options_ << option; } @@ -276,6 +285,21 @@ QString QETArguments::configDir() const { } #endif +/** + @return true si l'utilisateur a specifie un dossier pour les fichiers de langue +*/ +bool QETArguments::langDirSpecified() const { + return(!lang_dir_.isEmpty()); +} + +/** + @return le dossier de langue specifie par l'utilisateur. + Si l'utilisateur n'en a pas specifie, une chaine vide est retournee. +*/ +QString QETArguments::langDir() const { + return(lang_dir_); +} + /** @return true si les arguments comportent une demande d'affichage de l'aide, false sinon diff --git a/sources/qetarguments.h b/sources/qetarguments.h index 2fe741539..ace82d16d 100644 --- a/sources/qetarguments.h +++ b/sources/qetarguments.h @@ -50,6 +50,8 @@ class QETArguments : public QObject { virtual bool configDirSpecified() const; virtual QString configDir() const; #endif + virtual bool langDirSpecified() const; + virtual QString langDir() const; virtual bool printHelpRequested() const; virtual bool printLicenseRequested() const; virtual bool printVersionRequested() const; @@ -74,6 +76,7 @@ class QETArguments : public QObject { #ifdef QET_ALLOW_OVERRIDE_CD_OPTION QString config_dir_; #endif + QString lang_dir_; bool print_help_; bool print_license_; bool print_version_;