argdialog.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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/task.hpp>
  13. #include <string_view>
  14. #include <unordered_map>
  15. using namespace Scheduler;
  16. typedef std::string Str;
  17. namespace Ui {
  18. class ArgDialog;
  19. }
  20. class ArgDialog : public QDialog {
  21. Q_OBJECT
  22. public:
  23. explicit ArgDialog(QWidget *parent = nullptr);
  24. virtual void keyPressEvent(QKeyEvent* e) override;
  25. void setFilePath(QString path);
  26. virtual void accept() override;
  27. void setConfig(QString config_string);
  28. ~ArgDialog();
  29. signals:
  30. void taskRequestReady(Scheduler::Task *task);
  31. private:
  32. void clearPost();
  33. void defaultPost();
  34. void clearTask();
  35. void addToArgList(QString value, QString type);
  36. void addOrReplaceInArgList(QString value, QString type);
  37. void addHashtag(QString tag);
  38. void addRequestedBy(QString value);
  39. void setTaskArguments();
  40. void setArgTypes();
  41. Ui::ArgDialog *ui;
  42. void addItem(QString value, QString type);
  43. void addFile(QString path);
  44. Task *m_task;
  45. QString m_file_path;
  46. QString m_config_string;
  47. };
  48. #endif // ARGDIALOG_H