ui: Rewrote project setup to wizzard

* QtProjectWizzard handles window managment logic of project setup
* QtProjectWizzardWindow is used in every step and displays QtProjectWizzardContent
* QtProjectWizzardContent is the base class for all differnt content types
* Removed Singleton from ProjectSettings
* ProjectSettings are created by wizzard and QtProjectWizzardContent can access and load
* added project type selection at start of wizzard
* added summary at end of wizzard
* show global search paths in setup and summary
* fixed layout problems after font switch
* fixed scrolling and resizing of QtDirectoryListBox
* separated QtLocationPicker to own class
This commit is contained in:
Eberhard Graether
2016-02-14 15:42:30 +01:00
parent 50a94bf108
commit 2d48f0a663
38 changed files with 1784 additions and 716 deletions
+34 -1
View File
@@ -40,6 +40,9 @@ ProjectSettings::~ProjectSettings()
void ProjectSettings::save(const FilePath& filePath)
{
m_projectName = "";
m_projectFileLocation = "";
moveRelativePathValues("source/source_paths/source_path", filePath);
moveRelativePathValues("source/header_search_paths/header_search_path", filePath);
moveRelativePathValues("source/framework_search_paths/framework_search_path", filePath);
@@ -59,7 +62,7 @@ bool ProjectSettings::setLanguage(const std::string& language)
std::string ProjectSettings::getStandard() const
{
return getValue<std::string>("language_settings/standard", "11");
return getValue<std::string>("language_settings/standard", "1z");
}
bool ProjectSettings::setStandard(const std::string& standard)
@@ -127,3 +130,33 @@ std::string ProjectSettings::getDescription() const
{
return getValue<std::string>("info/description", "");
}
std::string ProjectSettings::getProjectName() const
{
if (m_projectName.size())
{
return m_projectName;
}
return getFilePath().withoutExtension().fileName();
}
void ProjectSettings::setProjectName(const std::string& name)
{
m_projectName = name;
}
std::string ProjectSettings::getProjectFileLocation() const
{
if (m_projectFileLocation.size())
{
return m_projectFileLocation;
}
return getFilePath().parentDirectory().str();
}
void ProjectSettings::setProjectFileLocation(const std::string& location)
{
m_projectFileLocation = location;
}
+10 -3
View File
@@ -14,6 +14,7 @@ public:
static std::vector<std::string> getDefaultSourceExtensions();
static std::shared_ptr<ProjectSettings> getInstance();
ProjectSettings();
~ProjectSettings();
virtual void save(const FilePath& filePath);
@@ -47,10 +48,16 @@ public:
bool setHeaderExtensions(const std::vector<std::string>& headerExtensions);
bool setSourceExtensions(const std::vector<std::string>& sourceExtensions);
// used in project wizzard
std::string getProjectName() const;
void setProjectName(const std::string& name);
std::string getProjectFileLocation() const;
void setProjectFileLocation(const std::string& location);
private:
ProjectSettings();
ProjectSettings(const ProjectSettings&);
void operator=(const ProjectSettings&);
std::string m_projectName;
std::string m_projectFileLocation;
static std::shared_ptr<ProjectSettings> s_instance;
};