aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ios/iosrunconfiguration.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2017-09-01 13:23:02 +0200
committerhjk <[email protected]>2017-09-13 09:24:26 +0000
commit890c1906e6fb2eceb3eaf381b0c298138be3a932 (patch)
treeb8497216ea125ac47621451082202a25000206e7 /src/plugins/ios/iosrunconfiguration.cpp
parent4710e6b4b2df67a9d483c33e1a2b06a4139f7baa (diff)
ProjectExplorer: Re-organize RunConfiguration constructors
The idea is to massage the setup in a way to make implementation of new configurations less error prone by identifying recurring patterns and sharing repetitive code that tends to be forgotten (see Android cloning). The former two lines of constructors (owner-and-id, owner-and-source) are split into a simple, shared, constructor and new setId() and copyFrom() functions. The change is mostly mechanical, some multiple calls to fromMap have been removed, though, some consts added. Otherwise, to keep the patch small it temporarily introduces two helper templates in IRunConfigurationFactory. Also, setId() signatures have not been unified yet. These won't be needed in the final setup. Change-Id: I8c0734496caae744a9883fe6d92c1d8f8e0234ea Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/ios/iosrunconfiguration.cpp')
-rw-r--r--src/plugins/ios/iosrunconfiguration.cpp32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/plugins/ios/iosrunconfiguration.cpp b/src/plugins/ios/iosrunconfiguration.cpp
index e264d61ed34..d1c5cc69845 100644
--- a/src/plugins/ios/iosrunconfiguration.cpp
+++ b/src/plugins/ios/iosrunconfiguration.cpp
@@ -94,28 +94,32 @@ private:
QComboBox *m_deviceTypeComboBox;
};
-IosRunConfiguration::IosRunConfiguration(Target *parent, Core::Id id, const FileName &path)
- : RunConfiguration(parent, id)
- , m_profilePath(path)
+IosRunConfiguration::IosRunConfiguration(Target *target)
+ : RunConfiguration(target)
{
- addExtraAspect(new ArgumentsAspect(this, QLatin1String("Ios.run_arguments")));
- init();
+ addExtraAspect(new ArgumentsAspect(this, "Ios.run_arguments"));
+
+ connect(DeviceManager::instance(), &DeviceManager::updated,
+ this, &IosRunConfiguration::deviceChanges);
+ connect(KitManager::instance(), &KitManager::kitsChanged,
+ this, &IosRunConfiguration::deviceChanges);
}
-IosRunConfiguration::IosRunConfiguration(Target *parent, IosRunConfiguration *source)
- : RunConfiguration(parent, source)
- , m_profilePath(source->m_profilePath)
+
+void IosRunConfiguration::initialize(Core::Id id, const FileName &path)
{
- init();
+ RunConfiguration::initialize(id);
+ m_profilePath = path;
+
+ updateDisplayNames();
}
-void IosRunConfiguration::init()
+void IosRunConfiguration::copyFrom(const IosRunConfiguration *source)
{
+ RunConfiguration::copyFrom(source);
+ m_profilePath = source->m_profilePath;
+
updateDisplayNames();
- connect(DeviceManager::instance(), &DeviceManager::updated,
- this, &IosRunConfiguration::deviceChanges);
- connect(KitManager::instance(), &KitManager::kitsChanged,
- this, &IosRunConfiguration::deviceChanges);
}
void IosRunConfiguration::deviceChanges() {