logic: cleaned up code for SourceGroupSettings and Wizzard

* Flattened sourcegroupsettings class hierarchy by moving cross compilation options to own base class
* QtProjectWizzardContentFlags constructor required correct settings object to reduce the need for type casting
* QtProjectWizzardContentPath constructors required correct settings objects
* moved SourcePaths from SourceGroupSettingsJava to SourceGroupSettingsJavaEmpty because they are not required for Gradle and Maven projects
* removed classpath from maven and gradle source group settings
* reuse code of SourceGroup for "show source files" in wizard
This commit is contained in:
mlangkabel
2018-06-12 21:16:51 +02:00
parent dca4c3c16b
commit c65a5d04b1
34 changed files with 697 additions and 570 deletions
@@ -6,7 +6,7 @@
class QCheckBox;
class QComboBox;
class QLabel;
class SourceGroupSettings;
class SourceGroupSettingsWithCxxCrossCompilationOptions;
class QtProjectWizzardContentCrossCompilationOptions
: public QtProjectWizzardContent
@@ -15,7 +15,7 @@ class QtProjectWizzardContentCrossCompilationOptions
public:
QtProjectWizzardContentCrossCompilationOptions(
std::shared_ptr<SourceGroupSettings> sourceGroupSettings,
std::shared_ptr<SourceGroupSettingsWithCxxCrossCompilationOptions> sourceGroupSettings,
QtProjectWizzardWindow* window);
// QtProjectWizzardContent implementation
@@ -29,7 +29,7 @@ private:
void onUseTargetOptionsChanged();
void updateTargetOptionsEnabled();
std::shared_ptr<SourceGroupSettings> m_sourceGroupSettings;
std::shared_ptr<SourceGroupSettingsWithCxxCrossCompilationOptions> m_sourceGroupSettings;
QCheckBox* m_useTargetOptions;
QComboBox* m_arch;