Browse Source

no longer using separate console dialog and message dialog
consolidating as one dialog
added warnings to the user upon setting a past date value
will inform user that a task fails its isReady() verification

logicp 4 years ago
parent
commit
f665266a3c

+ 11 - 9
headers/util.hpp

@@ -4,6 +4,7 @@
 #include <QDebug>
 #include <QQueue>
 #include <QString>
+#include <QMessageBox>
 #include <QVector>
 #include <charconv>
 #include <string>
@@ -389,15 +390,6 @@ bool serverWaitingForFile(const char* data) {
     return false;
 }
 
-// std::string stringTupleVecToJson(
-//    std::vector<std::pair<std::string, std::string>> v) {
-//    json j{};
-//    for (const auto& row : v) {
-//        j[row.first] = row.second;
-//    }
-//    return j;
-//}
-
 inline size_t findNullIndex(uint8_t* data) {
     size_t index = 0;
     while (data) {
@@ -425,5 +417,15 @@ QString generatePreview(QString video_path, QString video_name) {
   return preview_name;
 }
 }; // namespace FileUtils
+
+namespace UI {
+inline void infoMessageBox(QString text, QString title = "KYGUI") {
+  QMessageBox box;
+  box.setWindowTitle(title);
+  box.setText(text);
+  box.setButtonText(0, "Close");
+  box.exec();
+}
+} // namespace UI
 }  // namespace
 #endif  // UTIL_HPP

+ 0 - 23
include/ui/consoledialog.h

@@ -1,23 +0,0 @@
-#ifndef CONSOLEDIALOG_H
-#define CONSOLEDIALOG_H
-
-#include <QDialog>
-
-namespace Ui {
-class ConsoleDialog;
-}
-
-class ConsoleDialog : public QDialog
-{
-    Q_OBJECT
-
-public:
-    explicit ConsoleDialog(QWidget *parent = nullptr);
-    void updateText(const QString& s);
-    ~ConsoleDialog();
-
-private:
-    Ui::ConsoleDialog *ui;
-};
-
-#endif // CONSOLEDIALOG_H

+ 0 - 2
include/ui/mainwindow.h

@@ -2,7 +2,6 @@
 #define MAINWINDOW_H
 
 #include <include/ui/argdialog.h>
-#include <include/ui/consoledialog.h>
 #include <include/ui/messagedialog.hpp>
 #include <QList>
 #include <QListView>
@@ -84,7 +83,6 @@ public:
     MessageParser message_parser;
     Ui::MainWindow *ui;
     ArgDialog *arg_ui;
-    ConsoleDialog console_ui;
     MessageDialog message_ui;
     /** Client member */
     Client* q_client;

+ 1 - 1
include/ui/messagedialog.hpp

@@ -14,7 +14,7 @@ class MessageDialog : public QDialog
 
  public:
   explicit MessageDialog(QWidget *parent = nullptr);
-  void append(QString message);
+  void append(QString message, bool formatted=false);
   ~MessageDialog();
 
  private:

+ 0 - 2
ky_gui.pro

@@ -34,14 +34,12 @@ SOURCES += \
         src/instagram_task.cpp\
         src/argdialog.cpp \
         src/messagedialog.cpp \
-        src/consoledialog.cpp \
         src/connection_indicator.cpp \
         src/kfiledialog.cpp \
 
         src/connection_indicator.cpp
 HEADERS += \
         include/ui/argdialog.h \
-        include/ui/consoledialog.h \
         include/ui/messagedialog.hpp \
         include/ui/mainwindow.h \
         include/ui/connection_indicator.h \

+ 8 - 3
src/argdialog.cpp

@@ -127,9 +127,12 @@ ArgDialog::ArgDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ArgDialog),
 
   QObject::connect(ui->dateTime, &QDateTimeEdit::dateTimeChanged, this, [this]() {
     auto date_time = ui->dateTime->dateTime();
-    m_task->setArgument("datetime", QString::number(date_time.toTime_t()));
-    auto new_time = std::get<Scheduler::VariantIndex::QSTRING>(m_task->getTaskArgument("datetime"));
-    qDebug() << "Time changed to" << date_time;
+    if (date_time > QDateTime::currentDateTime()) {
+      m_task->setArgument("datetime", QString::number(date_time.toTime_t()));
+      qDebug() << "Time changed to" << date_time;
+    } else {
+      UI::infoMessageBox("Unable to schedule tasks in the past!", "DateTime Error");
+    }
   });
 
   QObject::connect(ui->argCommandButtons,
@@ -140,6 +143,8 @@ ArgDialog::ArgDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ArgDialog),
                        setTaskArguments();
                        if (m_task->isReady()) {
                          emit ArgDialog::taskRequestReady(m_task);
+                       } else {
+                         UI::infoMessageBox("Task is still missing arguments", "Task Verification Error");
                        }
                      }
                    });

+ 0 - 23
src/consoledialog.cpp

@@ -1,23 +0,0 @@
-#include <include/ui/consoledialog.h>
-#include <QPushButton>
-#include "ui_consoledialog.h"
-
-ConsoleDialog::ConsoleDialog(QWidget *parent) :
-    QDialog(parent),
-    ui(new Ui::ConsoleDialog)
-{
-    ui->setupUi(this);
-
-    QObject::connect(ui->closeConsole, &QPushButton::clicked, this, [this]() {
-        this->close();
-    });
-}
-
-void ConsoleDialog::updateText(const QString& s) {
-    ui->consoleText->append(s);
-}
-
-ConsoleDialog::~ConsoleDialog()
-{
-    delete ui;
-}

+ 4 - 16
src/mainwindow.cpp

@@ -16,14 +16,6 @@
  * Helper functions
  */
 namespace {
-void infoMessageBox(QString text, QString title = "KYGUI") {
-  QMessageBox box;
-  box.setWindowTitle(title);
-  box.setText(text);
-  box.setButtonText(0, "Close");
-  box.exec();
-}
-
 bool isSameEvent(QString event1, QString event2) {
   auto event_size =
       event1.size() > event2.size() ? event2.size() : event1.size();
@@ -225,9 +217,6 @@ void MainWindow::connectClient() {
         }
       });
 
-  QObject::connect(ui->viewConsole, &QPushButton::clicked, this,
-                   [this]() { console_ui.show(); });
-
   QObject::connect(
       ui->processList, &QListView::clicked, this,
       [this](const QModelIndex& index) {
@@ -241,12 +230,12 @@ void MainWindow::connectClient() {
         if (process.end.size() > 0 || process.id == "Scheduled task") {
           process_info_text += "\n\nResult: \n" + process.result;
         }
-        infoMessageBox(process_info_text, "Process");
+        UI::infoMessageBox(process_info_text, "Process");
       });
 
   QObject::connect(ui->eventList, &QListView::clicked, this,
                    [this](const QModelIndex& index) {
-                     infoMessageBox(m_event_model->item(index.row(), index.column())->text(), "Event");
+                     UI::infoMessageBox(m_event_model->item(index.row(), index.column())->text(), "Event");
                    });
 
   QObject::connect(m_event_model, &QAbstractItemModel::rowsAboutToBeInserted,
@@ -278,7 +267,7 @@ void MainWindow::updateMessages(int t, const QString& message, StringVec v) {
   if (t == MESSAGE_UPDATE_TYPE) {  // Normal message
     qDebug() << "Updating message area";
     message_parser.handleMessage(message, v);
-    console_ui.updateText(message);
+    message_ui.append(message);
   } else if (t == COMMANDS_UPDATE_TYPE) {  // Received app list from server
     qDebug() << "Updating commands";
     QString default_app = configValue("defaultApp", m_config);
@@ -395,8 +384,7 @@ void MainWindow::MessageParser::handleCommands(StringVec commands,
  * @param v
  */
 void MainWindow::MessageParser::handleMessage(QString message, StringVec v) {
-  auto simple_message = timestampPrefix() + parseMessage(message, v);
-  window->message_ui.append(simple_message);
+  window->message_ui.append(timestampPrefix() + parseMessage(message, v), true);
 }
 
 /**

+ 6 - 2
src/messagedialog.cpp

@@ -10,8 +10,12 @@ MessageDialog::MessageDialog(QWidget *parent) :
   });
 }
 
-void MessageDialog::append(QString message) {
-  ui->messages->append(message);
+void MessageDialog::append(QString message, bool formatted) {
+  if (formatted) {
+    ui->messages->append(message);
+  } else {
+    ui->console->append(message);
+  }
 }
 
 MessageDialog::~MessageDialog() {