argdialog.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef ARGDIALOG_H
  2. #define ARGDIALOG_H
  3. #include <include/ui/kfiledialog.h>
  4. #include <QDialog>
  5. #include <QFile>
  6. #include <QFileDialog>
  7. #include <QKeyEvent>
  8. #include <QMessageBox>
  9. #include <QPushButton>
  10. #include <headers/util.hpp>
  11. #include <include/task/instagram_task.hpp>
  12. #include <include/task/generic_task.hpp>
  13. #include <include/task/task.hpp>
  14. #include <string_view>
  15. #include <unordered_map>
  16. using namespace Scheduler;
  17. typedef std::string Str;
  18. namespace Ui {
  19. class ArgDialog;
  20. }
  21. class ArgDialog : public QDialog {
  22. Q_OBJECT
  23. public:
  24. explicit ArgDialog(QWidget *parent = nullptr);
  25. virtual void keyPressEvent(QKeyEvent* e) override;
  26. void setFilePath(QString path);
  27. virtual void accept() override;
  28. void setAppName(QString task_name);
  29. void setConfig(QString config_string);
  30. void notifyClientSuccess();
  31. ~ArgDialog();
  32. signals:
  33. void taskRequestReady(Scheduler::Task *task);
  34. protected:
  35. void showEvent(QShowEvent* event) override;
  36. private:
  37. void clearPost();
  38. void defaultPost();
  39. void clearTask();
  40. void addToArgList(QString value, QString type);
  41. void addOrReplaceInArgList(QString value, QString type);
  42. void addHashtag(QString tag);
  43. void addRequestedBy(QString value);
  44. void setTaskArguments();
  45. void setArgTypes();
  46. Ui::ArgDialog *ui;
  47. void addItem(QString value, QString type);
  48. void addFile(QString path);
  49. Task *m_task;
  50. QString m_file_path;
  51. QString m_config_string;
  52. QString m_app_name;
  53. };
  54. #endif // ARGDIALOG_H