* project can not have multiple source groups with different types * language of a project is now inferred from source groups * setting global NameHierarchy delimiter of first sourceGroup in project * added project settings migrations for source groups * Add Settings Migration classes (MoveKey, DeleteKey, Lambda) * Update sample projects with migrations * added method to config to retrieve sublevel key names * implemented recursive removing of keys in settings * moved project files out of top level * removed solution parsing code as it is not used anymore fortune cookie message = The secret of getting ahead is getting started.
94 lines
2.2 KiB
C++
94 lines
2.2 KiB
C++
#ifndef QT_PROJECT_WIZZARD_H
|
|
#define QT_PROJECT_WIZZARD_H
|
|
|
|
#include <QWidget>
|
|
|
|
#include "qt/window/project_wizzard/QtProjectWizzardContentSelect.h"
|
|
#include "qt/window/QtWindowStack.h"
|
|
|
|
#include "settings/ApplicationSettings.h"
|
|
#include "settings/ProjectSettings.h"
|
|
|
|
class QtProjectWizzardContentSummary;
|
|
class QtProjectWizzardWindow;
|
|
|
|
class QtProjectWizzard
|
|
: public QtWindowStackElement
|
|
{
|
|
Q_OBJECT
|
|
|
|
signals:
|
|
void finished();
|
|
void canceled();
|
|
|
|
public:
|
|
QtProjectWizzard(QWidget* parent = nullptr);
|
|
|
|
// QtWindowStackElement implementation
|
|
virtual void showWindow() override;
|
|
virtual void hideWindow() override;
|
|
|
|
public slots:
|
|
void newProject();
|
|
|
|
void newProjectFromSolution(const std::string& ideId, const FilePath& solutionPath);
|
|
void newProjectFromCDB(const FilePath& filePath, const std::vector<FilePath>& headerPaths);
|
|
void refreshProjectFromSolution(const std::string& ideId, const std::string& solutionPath);
|
|
|
|
void editProject(const FilePath& settingsPath);
|
|
void editProject(std::shared_ptr<ProjectSettings> settings);
|
|
void showPreferences();
|
|
|
|
private:
|
|
static bool applicationSettingsContainVisualStudioHeaderSearchPaths();
|
|
|
|
QtProjectWizzardWindow* createWindowWithContent(
|
|
std::function<QtProjectWizzardContent*(QtProjectWizzardWindow*)> func);
|
|
|
|
QtProjectWizzardWindow* createWindowWithSummary(
|
|
std::function<void(QtProjectWizzardWindow*, QtProjectWizzardContentSummary*)> func);
|
|
|
|
QtWindowStack m_windowStack;
|
|
|
|
std::shared_ptr<ProjectSettings> m_projectSettings;
|
|
std::shared_ptr<SourceGroupSettings> m_sourceGroupSettings;
|
|
ApplicationSettings m_appSettings;
|
|
|
|
bool m_editing;
|
|
|
|
private slots:
|
|
void cancelWizzard();
|
|
void finishWizzard();
|
|
|
|
void windowStackChanged();
|
|
|
|
void selectedProjectType(SourceGroupType sourceGroupType);
|
|
|
|
void emptyProject();
|
|
void emptyProjectCDBVS();
|
|
void emptyProjectCDB();
|
|
void emptyProjectJavaMaven();
|
|
|
|
void sourcePaths();
|
|
void headerSearchPaths();
|
|
|
|
void headerSearchPathsDone();
|
|
void frameworkSearchPaths();
|
|
|
|
void headerPathsCDB();
|
|
|
|
void sourcePathsJava();
|
|
void sourcePathsJavaMaven();
|
|
|
|
void advancedSettingsCxx();
|
|
void advancedSettingsJava();
|
|
|
|
void showSummary();
|
|
void showSummaryJava();
|
|
|
|
void createProject();
|
|
void savePreferences();
|
|
};
|
|
|
|
#endif // QT_PROJECT_WIZZARD_H
|