#ifndef NEWTEMPLATEDIALOG_H #define NEWTEMPLATEDIALOG_H #include #include namespace Ui { class NewTemplateDialog; } class NewTemplateDialog : public QDialog { Q_OBJECT public: explicit NewTemplateDialog(QWidget *parent = nullptr); ~NewTemplateDialog(); QString getName() const; QString getDescription() const; QString getCategory() const; private slots: void on_btnCreate_clicked(); void on_btnCancel_clicked(); void on_txtName_textChanged(const QString &arg1); void on_cbCategory_currentTextChanged(const QString &arg1); private: QStringList findCategories(); void readTemplateCategory(const QString& filename, QSet& categories); void readTemplateCategoriesInDir(const QString& folderPath, QSet& categories); void updateCreateState(); private: Ui::NewTemplateDialog *ui; // QWidget interface protected: void closeEvent(QCloseEvent *event) override; }; #endif // NEWTEMPLATEDIALOG_H