argdialog.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. void notifyClientSuccess();
  29. ~ArgDialog();
  30. signals:
  31. void taskRequestReady(Scheduler::Task *task);
  32. private:
  33. void clearPost();
  34. void defaultPost();
  35. void clearTask();
  36. void addToArgList(QString value, QString type);
  37. void addOrReplaceInArgList(QString value, QString type);
  38. void addHashtag(QString tag);
  39. void addRequestedBy(QString value);
  40. void setTaskArguments();
  41. void setArgTypes();
  42. Ui::ArgDialog *ui;
  43. void addItem(QString value, QString type);
  44. void addFile(QString path);
  45. Task *m_task;
  46. QString m_file_path;
  47. QString m_config_string;
  48. };
  49. #endif // ARGDIALOG_H