#ifndef NEWPROJECTDIALOG_H #define NEWPROJECTDIALOG_H #include #include #include #include "projecttemplate.h" namespace Ui { class NewProjectDialog; } class NewProjectDialog : public QDialog { Q_OBJECT public: explicit NewProjectDialog(QWidget *parent = nullptr); ~NewProjectDialog(); PProjectTemplate getTemplate(); QString getLocation(); QString getProjectName(); bool useAsDefaultProjectDir(); bool isCProject(); bool isCppProject(); bool makeDefaultLanguage(); private slots: void updateView(); void updateProjectLocation(); void on_lstTemplates_itemDoubleClicked(QListWidgetItem *item); void on_lstTemplates_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); void on_btnBrowse_clicked(); private: void addTemplate(const QString& filename); void readTemplateDir(); void rebuildTabs(); private: Ui::NewProjectDialog *ui; QList mTemplates; QTabBar* mTemplatesTabBar; QMap mCategories; }; #endif // NEWPROJECTDIALOG_H