Git commit 75da50385dc2c7d699b3b86e1a447799602e7ff4 by Ralf Habacker. Committed on 31/10/2017 at 21:17. Pushed by habacker into branch 'master'. Add command line parameter --import-directory and --set-language-xxx = to KDE4 variant M +34 -2 umbrello/main.cpp https://commits.kde.org/umbrello/75da50385dc2c7d699b3b86e1a447799602e7ff4 diff --git a/umbrello/main.cpp b/umbrello/main.cpp index 15598c957..d390c1a85 100644 --- a/umbrello/main.cpp +++ b/umbrello/main.cpp @@ -43,6 +43,8 @@ #define StringLiteral(a) QByteArray(a) #endif = +void getFiles(QStringList& files, const QString& path, QStringList& filter= s); + /** * Description for this application */ @@ -176,6 +178,12 @@ int main(int argc, char *argv[]) options.add("import-files", ki18n("import files")); options.add("languages", ki18n("list supported languages")); options.add("use-folders", ki18n("keep the tree structure used to stor= e the views in the document in the target directory")); + options.add("import-directory ", ki18n("import files from directo= ry ")); + for(int i =3D Uml::ProgrammingLanguage::ActionScript; i < Uml::Program= mingLanguage::Reserved; i++) { + Uml::ProgrammingLanguage::Enum pl =3D Uml::ProgrammingLanguage::fr= omInt(i); + QByteArray optionString =3D "set-language-" + Uml::ProgrammingLang= uage::toString(pl).toLower().toLocal8Bit(); + options.add(optionString, ki18n("set active language")); + } KCmdLineArgs::addCmdLineOptions(options); // Add our own options. KApplication app; KCmdLineArgs *args =3D KCmdLineArgs::parsedArgs(); @@ -213,6 +221,16 @@ int main(int argc, char *argv[]) uml->show(); } = + Uml::ProgrammingLanguage::Enum lang =3D Uml::ProgrammingLanguage::= Reserved; + for(int i =3D Uml::ProgrammingLanguage::ActionScript; i < Uml::Pro= grammingLanguage::Reserved; i++) { + Uml::ProgrammingLanguage::Enum pl =3D Uml::ProgrammingLanguage= ::fromInt(i); + QByteArray langString =3D "set-language-"; + langString +=3D Uml::ProgrammingLanguage::toString(pl).toLower= ().toLocal8Bit(); + if (args->isSet(langString)) { + lang =3D Uml::ProgrammingLanguage::fromInt(i); + } + } + #if QT_VERSION >=3D 0x050000 if (args->isSet(IMPORT_FILES)) { QStringList importList =3D args->values(IMPORT_FILES); @@ -227,12 +245,26 @@ int main(int argc, char *argv[]) for (int i =3D 0; i < args->count(); i++) importList.append(args->url(i).toLocalFile()); uml->newDocument(); + if (lang !=3D Uml::ProgrammingLanguage::Reserved) + uml->setActiveLanguage(lang); uml->importFiles(importList); } + else if (args->isSet("import-directory") && args->count() > 0) { + uml->newDocument(); + if (lang !=3D Uml::ProgrammingLanguage::Reserved) + uml->setActiveLanguage(lang); + QStringList filter =3D Uml::ProgrammingLanguage::toExtensions(= uml->activeLanguage()); + QString dir =3D args->url(0).toLocalFile(); + QStringList listFile; + getFiles(listFile, dir, filter); + uml->importFiles(listFile, dir); + } #endif - else + else { initDocument(args); - + if (lang !=3D Uml::ProgrammingLanguage::Reserved) + uml->setActiveLanguage(lang); + } = // export option #if QT_VERSION >=3D 0x050000