Parcourir la source

allowing default value of schedulerMode
helper functions for this

logicp il y a 5 ans
Parent
commit
8389ae91de
2 fichiers modifiés avec 24 ajouts et 5 suppressions
  1. 13 0
      headers/util.hpp
  2. 11 5
      src/mainwindow.cpp

+ 13 - 0
headers/util.hpp

@@ -98,6 +98,19 @@ static QString escapeTextToRaw(QString s) {
     return escapeText(s).toUtf8().constData();
 }
 
+QString configValue(QString s, ConfigJson config) {
+  if (auto it{config.find(s)}; it != std::end(config)) {
+    return it->second;
+  }
+  return "";
+}
+
+bool configBoolValue(QString s, ConfigJson config) {
+  if (auto it{config.find(s)}; it != std::end(config)) {
+    return bool{it->second == s};
+  }
+}
+
 std::string getJsonString(std::string s) {
     Document d;
     d.Parse(s.c_str());

+ 11 - 5
src/mainwindow.cpp

@@ -237,22 +237,28 @@ void MainWindow::updateMessages(int t, const QString& message, StringVec v) {
     ui->messages->append(simple_message);
     console_ui.updateText(message);
   } else if (t == COMMANDS_UPDATE_TYPE) {
-    if (message == "New Session") {
-      ui->led->setState(true);
-    }
     qDebug() << "Updating commands";
     QComboBox* app_list = ui->appList;
     app_list->clear();
-    QString default_app = m_config.at("defaultApp");
     int app_index = 0;
+    QString default_app = configValue("defaultApp", m_config);
     for (const auto& s : v) {
       app_list->addItem(s);
       if (s.toLower() == default_app.toLower()) {
-        q_client->setSelectedApp(std::vector<QString>{{default_app}});
+        q_client->setSelectedApp(std::vector<QString>{default_app});
         ui->appList->setCurrentIndex(app_index);
       }
       app_index++;
     }
+    if (message == "New Session") {
+      ui->led->setState(true);
+      if (auto it{m_config.find("schedulerMode")}; it != std::end(m_config)) {
+        bool scheduler_mode = bool{it->second == "true"};
+        if (configBoolValue("true", std::ref(m_config))) {
+          arg_ui->show();
+        }
+      }
+    }
   } else if (t == PROCESS_REQUEST_TYPE) {
     qDebug() << "Updating process list";
     m_processes.push_back(Process{.name = v.at(1),