Files
Sourcetrail/src/lib_gui/qt/window/project_wizzard/QtProjectWizzard.h
T
malte_langkabel 7b30ac18de logic: source groups for project settings
* 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.
2017-03-31 16:11:37 +02:00

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