Merge remote-tracking branch 'origin/4.13' into master

Change-Id: I565a0bd783dc80b53d4715fdc153dba1f1d3f7c7
This commit is contained in:
Eike Ziller
2020-10-05 09:05:23 +02:00
31 changed files with 468 additions and 18 deletions

View File

@@ -138,10 +138,22 @@ AndroidManifestEditorIconContainerWidget::AndroidManifestEditorIconContainerWidg
m_iconButtons.push_back(xxxhIconButton);
iconLayout->addStretch(3);
auto handleIconModification = [this] {
bool iconsMaybeChanged = hasIcons();
if (m_hasIcons != iconsMaybeChanged)
iconsModified();
m_hasIcons = iconsMaybeChanged;
};
for (auto &&iconButton : m_iconButtons) {
connect(masterIconButton, &AndroidManifestEditorIconWidget::iconSelected,
iconButton, &AndroidManifestEditorIconWidget::setIconFromPath);
connect(iconButton, &AndroidManifestEditorIconWidget::iconRemoved,
this, handleIconModification);
connect(iconButton, &AndroidManifestEditorIconWidget::iconSelected,
this, handleIconModification);
}
connect(masterIconButton, &AndroidManifestEditorIconWidget::iconSelected,
this, handleIconModification);
}
void AndroidManifestEditorIconContainerWidget::setIconFileName(const QString &name)
@@ -160,6 +172,7 @@ void AndroidManifestEditorIconContainerWidget::loadIcons()
iconButton->setTargetIconFileName(m_iconFileName + imageSuffix);
iconButton->loadIcon();
}
m_hasIcons = hasIcons();
}
bool AndroidManifestEditorIconContainerWidget::hasIcons() const

View File

@@ -42,7 +42,7 @@ class AndroidManifestEditorIconWidget;
class AndroidManifestEditorIconContainerWidget : public QWidget
{
Q_DECLARE_TR_FUNCTIONS(Android::Internal::AndroidManifestEditorIconContainerWidget)
Q_OBJECT
public:
explicit AndroidManifestEditorIconContainerWidget(QWidget *parent,
@@ -54,6 +54,9 @@ public:
private:
QVector<AndroidManifestEditorIconWidget *> m_iconButtons;
QString m_iconFileName = QLatin1String("icon");
bool m_hasIcons = false;
signals:
void iconsModified();
};
} // namespace Internal

View File

@@ -502,6 +502,8 @@ QGroupBox *AndroidManifestEditorWidget::createAdvancedGroupBox(QWidget *parent)
this, &AndroidManifestEditorWidget::setInvalidServiceInfo);
connect(m_splashButtons, &SplashIconContainerWidget::splashScreensModified,
this, [this]() { setDirty(); });
connect(m_iconButtons, &AndroidManifestEditorIconContainerWidget::iconsModified,
this, [this]() { setDirty(); });
formLayout->addRow(m_advanvedTabWidget);
otherGroupBox->setLayout(formLayout);