aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorhjk <[email protected]>2019-04-29 15:47:11 +0200
committerhjk <[email protected]>2019-05-06 09:09:37 +0000
commitb3eded3ee11189f97b78cb179666fc72b1e83bcd (patch)
treee0ab03933665dd0cb929d4e2bc35cd53f38eea51 /src/plugins
parent5b46b17b0851ab507f323c4a6d8b7ca1d18d72b0 (diff)
Ios: Inline IosBuildSettingsWidget ui
First mechanical baby-step towards using aspects in IosBuildConfiguration. Change-Id: I6eec5136ec05f0f26c3ca915fa7d84dccaafcb82 Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/ios/ios.pro1
-rw-r--r--src/plugins/ios/ios.qbs1
-rw-r--r--src/plugins/ios/iosbuildsettingswidget.cpp201
-rw-r--r--src/plugins/ios/iosbuildsettingswidget.h26
-rw-r--r--src/plugins/ios/iosbuildsettingswidget.ui137
5 files changed, 143 insertions, 223 deletions
diff --git a/src/plugins/ios/ios.pro b/src/plugins/ios/ios.pro
index 4bd83309627..28f710e4405 100644
--- a/src/plugins/ios/ios.pro
+++ b/src/plugins/ios/ios.pro
@@ -57,7 +57,6 @@ FORMS += \
iossettingswidget.ui \
iosbuildstep.ui \
iospresetbuildstep.ui \
- iosbuildsettingswidget.ui \
createsimulatordialog.ui \
simulatoroperationdialog.ui
diff --git a/src/plugins/ios/ios.qbs b/src/plugins/ios/ios.qbs
index a75914616c6..d2d7f79a44b 100644
--- a/src/plugins/ios/ios.qbs
+++ b/src/plugins/ios/ios.qbs
@@ -22,7 +22,6 @@ QtcPlugin {
"iosbuildconfiguration.h",
"iosbuildsettingswidget.cpp",
"iosbuildsettingswidget.h",
- "iosbuildsettingswidget.ui",
"iosbuildstep.cpp",
"iosbuildstep.h",
"iosbuildstep.ui",
diff --git a/src/plugins/ios/iosbuildsettingswidget.cpp b/src/plugins/ios/iosbuildsettingswidget.cpp
index f7c90b3aa9a..067477ffe2b 100644
--- a/src/plugins/ios/iosbuildsettingswidget.cpp
+++ b/src/plugins/ios/iosbuildsettingswidget.cpp
@@ -41,8 +41,6 @@
#include <QLoggingCategory>
#include <QVBoxLayout>
-using namespace QmakeProjectManager;
-
namespace Ios {
namespace Internal {
@@ -56,109 +54,168 @@ IosBuildSettingsWidget::IosBuildSettingsWidget(const Core::Id &deviceType,
const QString &signingIdentifier,
bool isSigningAutoManaged, QWidget *parent) :
ProjectExplorer::NamedWidget(parent),
- ui(new Ui::IosBuildSettingsWidget),
- m_detailsWidget(new Utils::DetailsWidget(this)),
m_deviceType(deviceType)
{
- auto rootLayout = new QVBoxLayout(this);
- rootLayout->setMargin(0);
- rootLayout->addWidget(m_detailsWidget);
-
- auto container = new QWidget(m_detailsWidget);
- ui->setupUi(container);
- ui->m_autoSignCheckbox->setChecked(isSigningAutoManaged);
- connect(ui->m_qmakeDefaults, &QPushButton::clicked, this, &IosBuildSettingsWidget::onReset);
-
- ui->m_infoIconLabel->hide();
- ui->m_infoIconLabel->setPixmap(Utils::Icons::INFO.pixmap());
- ui->m_infoLabel->hide();
-
- ui->m_warningIconLabel->hide();
- ui->m_warningIconLabel->setPixmap(Utils::Icons::WARNING.pixmap());
- ui->m_warningLabel->hide();
+ const bool isDevice = m_deviceType == Constants::IOS_DEVICE_TYPE;
- m_detailsWidget->setState(Utils::DetailsWidget::NoSummary);
- m_detailsWidget->setWidget(container);
+ auto detailsWidget = new Utils::DetailsWidget(this);
+ auto container = new QWidget(detailsWidget);
+
+ m_qmakeDefaults = new QPushButton(container);
+ QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ m_qmakeDefaults->setSizePolicy(sizePolicy);
+ m_qmakeDefaults->setText(tr("Reset"));
+ m_qmakeDefaults->setEnabled(isDevice);
+
+ m_signEntityCombo = new QComboBox(container);
+ QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ m_signEntityCombo->setSizePolicy(sizePolicy1);
+
+ m_autoSignCheckbox = new QCheckBox(container);
+ QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Fixed);
+ sizePolicy2.setHorizontalStretch(0);
+ sizePolicy2.setVerticalStretch(0);
+ m_autoSignCheckbox->setSizePolicy(sizePolicy2);
+ m_autoSignCheckbox->setChecked(true);
+ m_autoSignCheckbox->setText(tr("Automatically manage signing"));
+ m_autoSignCheckbox->setChecked(isSigningAutoManaged);
+ m_autoSignCheckbox->setEnabled(isDevice);
+
+ m_signEntityLabel = new QLabel(container);
+
+ m_infoIconLabel = new QLabel(container);
+ QSizePolicy sizePolicy3(QSizePolicy::Maximum, QSizePolicy::Preferred);
+ sizePolicy3.setHorizontalStretch(0);
+ sizePolicy3.setVerticalStretch(0);
+ m_infoIconLabel->setSizePolicy(sizePolicy3);
+
+ m_infoLabel = new QLabel(container);
+ QSizePolicy sizePolicy4(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ sizePolicy4.setHorizontalStretch(0);
+ sizePolicy4.setVerticalStretch(0);
+ m_infoLabel->setSizePolicy(sizePolicy4);
+ m_infoLabel->setWordWrap(false);
+
+ m_warningIconLabel = new QLabel(container);
+ m_warningIconLabel->setSizePolicy(sizePolicy3);
+
+ m_warningLabel = new QLabel(container);
+ m_warningLabel->setSizePolicy(sizePolicy4);
+ m_warningLabel->setWordWrap(true);
+
+ m_signEntityLabel->setText(QApplication::translate("Ios::Internal::IosBuildSettingsWidget", "Development team:", nullptr));
+
+ connect(m_qmakeDefaults, &QPushButton::clicked, this, &IosBuildSettingsWidget::onReset);
+
+ m_infoIconLabel->hide();
+ m_infoIconLabel->setPixmap(Utils::Icons::INFO.pixmap());
+ m_infoLabel->hide();
+
+ m_warningIconLabel->hide();
+ m_warningIconLabel->setPixmap(Utils::Icons::WARNING.pixmap());
+ m_warningLabel->hide();
+
+ detailsWidget->setState(Utils::DetailsWidget::NoSummary);
+ detailsWidget->setWidget(container);
setDisplayName(tr("iOS Settings"));
- const bool isDevice = m_deviceType == Constants::IOS_DEVICE_TYPE;
if (isDevice) {
connect(IosConfigurations::instance(), &IosConfigurations::provisioningDataChanged,
this, &IosBuildSettingsWidget::populateDevelopmentTeams);
- connect(ui->m_signEntityCombo, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
+ connect(m_signEntityCombo, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &IosBuildSettingsWidget::onSigningEntityComboIndexChanged);
- connect(ui->m_autoSignCheckbox, &QCheckBox::toggled,
+ connect(m_autoSignCheckbox, &QCheckBox::toggled,
this, &IosBuildSettingsWidget::configureSigningUi);
- configureSigningUi(ui->m_autoSignCheckbox->isChecked());
+ configureSigningUi(m_autoSignCheckbox->isChecked());
setDefaultSigningIdentfier(signingIdentifier);
}
- ui->m_autoSignCheckbox->setEnabled(isDevice);
- ui->m_signEntityCombo->setEnabled(isDevice);
- ui->m_qmakeDefaults->setEnabled(isDevice);
- ui->m_signEntityLabel->setEnabled(isDevice);
+ m_signEntityCombo->setEnabled(isDevice);
+ m_signEntityLabel->setEnabled(isDevice);
adjustSize();
-}
-IosBuildSettingsWidget::~IosBuildSettingsWidget()
-{
- delete ui;
+ auto rootLayout = new QVBoxLayout(this);
+ rootLayout->setMargin(0);
+ rootLayout->addWidget(detailsWidget);
+
+ auto gridLayout = new QGridLayout();
+ gridLayout->addWidget(m_signEntityLabel, 0, 0, 1, 1);
+ gridLayout->addWidget(m_signEntityCombo, 0, 1, 1, 1);
+ gridLayout->addWidget(m_autoSignCheckbox, 0, 2, 1, 1);
+ gridLayout->addWidget(m_qmakeDefaults, 1, 1, 1, 1);
+
+ auto horizontalLayout = new QHBoxLayout();
+ horizontalLayout->addWidget(m_infoIconLabel);
+ horizontalLayout->addWidget(m_infoLabel);
+
+ auto horizontalLayout_2 = new QHBoxLayout();
+ horizontalLayout_2->addWidget(m_warningIconLabel);
+ horizontalLayout_2->addWidget(m_warningLabel);
+
+ auto verticalLayout = new QVBoxLayout(container);
+ verticalLayout->addLayout(gridLayout);
+ verticalLayout->addLayout(horizontalLayout);
+ verticalLayout->addLayout(horizontalLayout_2);
}
void IosBuildSettingsWidget::setDefaultSigningIdentfier(const QString &identifier) const
{
if (identifier.isEmpty()) {
- ui->m_signEntityCombo->setCurrentIndex(0);
+ m_signEntityCombo->setCurrentIndex(0);
return;
}
int defaultIndex = -1;
- for (int index = 0; index < ui->m_signEntityCombo->count(); ++index) {
- QString teamID = ui->m_signEntityCombo->itemData(index, IdentifierRole).toString();
+ for (int index = 0; index < m_signEntityCombo->count(); ++index) {
+ QString teamID = m_signEntityCombo->itemData(index, IdentifierRole).toString();
if (teamID == identifier) {
defaultIndex = index;
break;
}
}
if (defaultIndex > -1) {
- ui->m_signEntityCombo->setCurrentIndex(defaultIndex);
+ m_signEntityCombo->setCurrentIndex(defaultIndex);
} else {
// Reset to default
- ui->m_signEntityCombo->setCurrentIndex(0);
+ m_signEntityCombo->setCurrentIndex(0);
qCDebug(iosSettingsLog) << "Cannot find default"
- << (ui->m_autoSignCheckbox->isChecked() ? "team": "provisioning profile")
+ << (m_autoSignCheckbox->isChecked() ? "team": "provisioning profile")
<< ". Identifier: " << identifier;
}
}
bool IosBuildSettingsWidget::isSigningAutomaticallyManaged() const
{
- return ui->m_autoSignCheckbox->isChecked() && ui->m_signEntityCombo->currentIndex() > 0;
+ return m_autoSignCheckbox->isChecked() && m_signEntityCombo->currentIndex() > 0;
}
void IosBuildSettingsWidget::onSigningEntityComboIndexChanged()
{
QString identifier = selectedIdentifier();
- (ui->m_autoSignCheckbox->isChecked() ? m_lastTeamSelection : m_lastProfileSelection) = identifier;
+ (m_autoSignCheckbox->isChecked() ? m_lastTeamSelection : m_lastProfileSelection) = identifier;
updateInfoText();
updateWarningText();
- emit signingSettingsChanged(ui->m_autoSignCheckbox->isChecked(), identifier);
+ emit signingSettingsChanged(m_autoSignCheckbox->isChecked(), identifier);
}
void IosBuildSettingsWidget::onReset()
{
m_lastTeamSelection.clear();
m_lastProfileSelection.clear();
- ui->m_autoSignCheckbox->setChecked(true);
+ m_autoSignCheckbox->setChecked(true);
setDefaultSigningIdentfier("");
}
void IosBuildSettingsWidget::configureSigningUi(bool autoManageSigning)
{
- ui->m_signEntityLabel->setText(autoManageSigning ? tr("Development team:")
- : tr("Provisioning profile:"));
+ m_signEntityLabel->setText(autoManageSigning ? tr("Development team:")
+ : tr("Provisioning profile:"));
if (autoManageSigning)
populateDevelopmentTeams();
else
@@ -171,15 +228,15 @@ void IosBuildSettingsWidget::configureSigningUi(bool autoManageSigning)
void IosBuildSettingsWidget::populateDevelopmentTeams()
{
{
- QSignalBlocker blocker(ui->m_signEntityCombo);
+ QSignalBlocker blocker(m_signEntityCombo);
// Populate Team id's
- ui->m_signEntityCombo->clear();
- ui->m_signEntityCombo->addItem(tr("Default"));
+ m_signEntityCombo->clear();
+ m_signEntityCombo->addItem(tr("Default"));
foreach (auto team, IosConfigurations::developmentTeams()) {
- ui->m_signEntityCombo->addItem(team->displayName());
- const int index = ui->m_signEntityCombo->count() - 1;
- ui->m_signEntityCombo->setItemData(index, team->identifier(), IdentifierRole);
- ui->m_signEntityCombo->setItemData(index, team->details(), Qt::ToolTipRole);
+ m_signEntityCombo->addItem(team->displayName());
+ const int index = m_signEntityCombo->count() - 1;
+ m_signEntityCombo->setItemData(index, team->identifier(), IdentifierRole);
+ m_signEntityCombo->setItemData(index, team->details(), Qt::ToolTipRole);
}
}
// Maintain previous selection.
@@ -191,18 +248,18 @@ void IosBuildSettingsWidget::populateProvisioningProfiles()
{
{
// Populate Team id's
- QSignalBlocker blocker(ui->m_signEntityCombo);
- ui->m_signEntityCombo->clear();
- ProvisioningProfiles profiles = IosConfigurations::provisioningProfiles();
+ QSignalBlocker blocker(m_signEntityCombo);
+ m_signEntityCombo->clear();
+ const ProvisioningProfiles profiles = IosConfigurations::provisioningProfiles();
if (profiles.count() > 0) {
- foreach (auto profile, profiles) {
- ui->m_signEntityCombo->addItem(profile->displayName());
- const int index = ui->m_signEntityCombo->count() - 1;
- ui->m_signEntityCombo->setItemData(index, profile->identifier(), IdentifierRole);
- ui->m_signEntityCombo->setItemData(index, profile->details(), Qt::ToolTipRole);
+ for (auto profile : profiles) {
+ m_signEntityCombo->addItem(profile->displayName());
+ const int index = m_signEntityCombo->count() - 1;
+ m_signEntityCombo->setItemData(index, profile->identifier(), IdentifierRole);
+ m_signEntityCombo->setItemData(index, profile->details(), Qt::ToolTipRole);
}
} else {
- ui->m_signEntityCombo->addItem(tr("None"));
+ m_signEntityCombo->addItem(tr("None"));
}
}
// Maintain previous selection.
@@ -212,7 +269,7 @@ void IosBuildSettingsWidget::populateProvisioningProfiles()
QString IosBuildSettingsWidget::selectedIdentifier() const
{
- return ui->m_signEntityCombo->currentData(IdentifierRole).toString();
+ return m_signEntityCombo->currentData(IdentifierRole).toString();
}
void IosBuildSettingsWidget::updateInfoText()
@@ -228,7 +285,7 @@ void IosBuildSettingsWidget::updateInfoText()
};
QString identifier = selectedIdentifier();
- bool configuringTeams = ui->m_autoSignCheckbox->isChecked();
+ bool configuringTeams = m_autoSignCheckbox->isChecked();
if (identifier.isEmpty()) {
// No signing entity selection.
@@ -256,9 +313,9 @@ void IosBuildSettingsWidget::updateInfoText()
}
}
- ui->m_infoIconLabel->setVisible(!infoMessage.isEmpty());
- ui->m_infoLabel->setVisible(!infoMessage.isEmpty());
- ui->m_infoLabel->setText(infoMessage);
+ m_infoIconLabel->setVisible(!infoMessage.isEmpty());
+ m_infoLabel->setVisible(!infoMessage.isEmpty());
+ m_infoLabel->setText(infoMessage);
}
void IosBuildSettingsWidget::updateWarningText()
@@ -267,8 +324,8 @@ void IosBuildSettingsWidget::updateWarningText()
return;
QString warningText;
- bool configuringTeams = ui->m_autoSignCheckbox->isChecked();
- if (ui->m_signEntityCombo->count() < 2) {
+ bool configuringTeams = m_autoSignCheckbox->isChecked();
+ if (m_signEntityCombo->count() < 2) {
warningText = tr("%1 not configured. Use Xcode and Apple developer account to configure the "
"provisioning profiles and teams.")
.arg(configuringTeams ? tr("Development teams") : tr("Provisioning profiles"));
@@ -287,9 +344,9 @@ void IosBuildSettingsWidget::updateWarningText()
}
}
- ui->m_warningLabel->setVisible(!warningText.isEmpty());
- ui->m_warningIconLabel->setVisible(!warningText.isEmpty());
- ui->m_warningLabel->setText(warningText);
+ m_warningLabel->setVisible(!warningText.isEmpty());
+ m_warningIconLabel->setVisible(!warningText.isEmpty());
+ m_warningLabel->setText(warningText);
}
} // namespace Internal
diff --git a/src/plugins/ios/iosbuildsettingswidget.h b/src/plugins/ios/iosbuildsettingswidget.h
index e8641fefcbf..30c90a06357 100644
--- a/src/plugins/ios/iosbuildsettingswidget.h
+++ b/src/plugins/ios/iosbuildsettingswidget.h
@@ -25,20 +25,16 @@
#pragma once
#include <coreplugin/id.h>
-#include "projectexplorer/namedwidget.h"
-#include <QWidget>
-
-namespace Utils {
-class DetailsWidget;
-}
+#include <projectexplorer/namedwidget.h>
+#include <QCheckBox>
+#include <QComboBox>
+#include <QLabel>
+#include <QPushButton>
namespace Ios {
namespace Internal {
-namespace Ui {
- class IosBuildSettingsWidget;
-}
class IosBuildSettingsWidget : public ProjectExplorer::NamedWidget
{
@@ -47,7 +43,6 @@ class IosBuildSettingsWidget : public ProjectExplorer::NamedWidget
public:
explicit IosBuildSettingsWidget(const Core::Id &deviceType, const QString &signingIdentifier,
bool isSigningAutoManaged, QWidget *parent = nullptr);
- ~IosBuildSettingsWidget() override;
bool isSigningAutomaticallyManaged() const;
@@ -67,11 +62,18 @@ private:
void updateWarningText();
private:
- Ui::IosBuildSettingsWidget *ui;
- Utils::DetailsWidget *m_detailsWidget;
QString m_lastProfileSelection;
QString m_lastTeamSelection;
const Core::Id m_deviceType;
+
+ QPushButton *m_qmakeDefaults;
+ QComboBox *m_signEntityCombo;
+ QCheckBox *m_autoSignCheckbox;
+ QLabel *m_signEntityLabel;
+ QLabel *m_infoIconLabel;
+ QLabel *m_infoLabel;
+ QLabel *m_warningIconLabel;
+ QLabel *m_warningLabel;
};
} // namespace Internal
diff --git a/src/plugins/ios/iosbuildsettingswidget.ui b/src/plugins/ios/iosbuildsettingswidget.ui
deleted file mode 100644
index 3a947d42c8c..00000000000
--- a/src/plugins/ios/iosbuildsettingswidget.ui
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>Ios::Internal::IosBuildSettingsWidget</class>
- <widget class="QWidget" name="Ios::Internal::IosBuildSettingsWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>467</width>
- <height>141</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string/>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="1" column="1">
- <widget class="QPushButton" name="m_qmakeDefaults">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Reset</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="m_signEntityCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QCheckBox" name="m_autoSignCheckbox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Automatically manage signing</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="m_signEntityLabel">
- <property name="text">
- <string>Development team:</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLabel" name="m_infoIconLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="m_infoLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QLabel" name="m_warningIconLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="m_warningLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>