forked from qt-creator/qt-creator
Android: Set the manifest dirty when app icons are set or removed
Task-number: QTCREATORBUG-24700 Change-Id: I862b5a17f47c7c6bbf7900b8923a246b8e902190 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
@@ -99,10 +99,22 @@ AndroidManifestEditorIconContainerWidget::AndroidManifestEditorIconContainerWidg
|
||||
m_iconButtons.push_back(hIconButton);
|
||||
iconLayout->addStretch(6);
|
||||
|
||||
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)
|
||||
@@ -121,6 +133,7 @@ void AndroidManifestEditorIconContainerWidget::loadIcons()
|
||||
iconButton->setTargetIconFileName(m_iconFileName + imageSuffix);
|
||||
iconButton->loadIcon();
|
||||
}
|
||||
m_hasIcons = hasIcons();
|
||||
}
|
||||
|
||||
bool AndroidManifestEditorIconContainerWidget::hasIcons() const
|
||||
|
@@ -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
|
||||
|
@@ -461,6 +461,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);
|
||||
|
Reference in New Issue
Block a user