[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [umbrello] umbrello: Add command line parameter --import-directory <dir> and --set-language-xxx to K
From:       Ralf Habacker <null () kde ! org>
Date:       2017-10-31 21:17:38
Message-ID: E1e9duk-00073r-7f () code ! kde ! org
[Download RAW message or body]

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 <dir> 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& filters);
+
 /**
  * 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 store the \
views in the document in the target directory")); +    options.add("import-directory \
<dir>", ki18n("import files from directory <dir>")); +    for(int i = \
Uml::ProgrammingLanguage::ActionScript; i < Uml::ProgrammingLanguage::Reserved; i++) \
{ +        Uml::ProgrammingLanguage::Enum pl = Uml::ProgrammingLanguage::fromInt(i);
+        QByteArray optionString = "set-language-" + \
Uml::ProgrammingLanguage::toString(pl).toLower().toLocal8Bit(); +        \
options.add(optionString, ki18n("set active language")); +    }
     KCmdLineArgs::addCmdLineOptions(options); // Add our own options.
     KApplication app;
     KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
@@ -213,6 +221,16 @@ int main(int argc, char *argv[])
             uml->show();
         }
 
+        Uml::ProgrammingLanguage::Enum lang = Uml::ProgrammingLanguage::Reserved;
+        for(int i = Uml::ProgrammingLanguage::ActionScript; i < \
Uml::ProgrammingLanguage::Reserved; i++) { +            \
Uml::ProgrammingLanguage::Enum pl = Uml::ProgrammingLanguage::fromInt(i); +           \
QByteArray langString = "set-language-"; +            langString += \
Uml::ProgrammingLanguage::toString(pl).toLower().toLocal8Bit(); +            if \
(args->isSet(langString)) { +                lang = \
Uml::ProgrammingLanguage::fromInt(i); +            }
+        }
+
 #if QT_VERSION >= 0x050000
         if (args->isSet(IMPORT_FILES)) {
             QStringList importList = args->values(IMPORT_FILES);
@@ -227,12 +245,26 @@ int main(int argc, char *argv[])
             for (int i = 0; i < args->count(); i++)
                 importList.append(args->url(i).toLocalFile());
             uml->newDocument();
+            if (lang != Uml::ProgrammingLanguage::Reserved)
+                uml->setActiveLanguage(lang);
             uml->importFiles(importList);
         }
+        else if (args->isSet("import-directory") && args->count() > 0) {
+            uml->newDocument();
+            if (lang != Uml::ProgrammingLanguage::Reserved)
+                uml->setActiveLanguage(lang);
+            QStringList filter = \
Uml::ProgrammingLanguage::toExtensions(uml->activeLanguage()); +            QString \
dir = args->url(0).toLocalFile(); +            QStringList listFile;
+            getFiles(listFile, dir, filter);
+            uml->importFiles(listFile, dir);
+        }
 #endif
-        else
+        else {
             initDocument(args);
-
+            if (lang != Uml::ProgrammingLanguage::Reserved)
+                uml->setActiveLanguage(lang);
+        }
 
         // export option
 #if QT_VERSION >= 0x050000


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic