forked from qt-creator/qt-creator
Android: make manifest editor icon buttons more self-evident
Task-number: QTCREATORBUG-23283 Change-Id: I727a0c808c2ce5a50b696889ac973692a03422be Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -232,29 +232,25 @@ void AndroidManifestEditorWidget::initializePage()
|
||||
formLayout->addRow(tr("Run:"), m_targetLineEdit);
|
||||
|
||||
auto iconLayout = new QHBoxLayout();
|
||||
m_lIconButton = new QToolButton(applicationGroupBox);
|
||||
m_lIconButton->setMinimumSize(QSize(48, 48));
|
||||
m_lIconButton->setMaximumSize(QSize(48, 48));
|
||||
m_lIconButton->setToolTip(tr("Select low DPI icon."));
|
||||
iconLayout->addWidget(m_lIconButton);
|
||||
|
||||
iconLayout->addItem(new QSpacerItem(28, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
||||
createDPIButton(iconLayout,
|
||||
applicationGroupBox,
|
||||
m_lIconButton, m_lIconClearButton,
|
||||
tr("Low DPI icon"), tr("Select low DPI icon."));
|
||||
|
||||
m_mIconButton = new QToolButton(applicationGroupBox);
|
||||
m_mIconButton->setMinimumSize(QSize(48, 48));
|
||||
m_mIconButton->setMaximumSize(QSize(48, 48));
|
||||
m_mIconButton->setToolTip(tr("Select medium DPI icon."));
|
||||
iconLayout->addWidget(m_mIconButton);
|
||||
createDPIButton(iconLayout,
|
||||
applicationGroupBox,
|
||||
m_mIconButton, m_mIconClearButton,
|
||||
tr("Medium DPI icon"), tr("Select medium DPI icon."));
|
||||
|
||||
iconLayout->addItem(new QSpacerItem(28, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
|
||||
createDPIButton(iconLayout,
|
||||
applicationGroupBox,
|
||||
m_hIconButton, m_hIconClearButton,
|
||||
tr("High DPI icon"), tr("Select high DPI icon."));
|
||||
|
||||
m_hIconButton = new QToolButton(applicationGroupBox);
|
||||
m_hIconButton->setMinimumSize(QSize(48, 48));
|
||||
m_hIconButton->setMaximumSize(QSize(48, 48));
|
||||
m_hIconButton->setToolTip(tr("Select high DPI icon."));
|
||||
iconLayout->addWidget(m_hIconButton);
|
||||
formLayout->addRow(tr("Application icon:"), new QLabel());
|
||||
|
||||
formLayout->addRow(tr("Application icon:"), iconLayout);
|
||||
formLayout->addRow(QString(), iconLayout);
|
||||
|
||||
applicationGroupBox->setLayout(formLayout);
|
||||
|
||||
@@ -271,6 +267,12 @@ void AndroidManifestEditorWidget::initializePage()
|
||||
this, &AndroidManifestEditorWidget::setMDPIIcon);
|
||||
connect(m_hIconButton, &QAbstractButton::clicked,
|
||||
this, &AndroidManifestEditorWidget::setHDPIIcon);
|
||||
connect(m_lIconClearButton, &QAbstractButton::clicked,
|
||||
this, &AndroidManifestEditorWidget::clearLDPIIcon);
|
||||
connect(m_mIconClearButton, &QAbstractButton::clicked,
|
||||
this, &AndroidManifestEditorWidget::clearMDPIIcon);
|
||||
connect(m_hIconClearButton, &QAbstractButton::clicked,
|
||||
this, &AndroidManifestEditorWidget::clearHDPIIcon);
|
||||
}
|
||||
|
||||
|
||||
@@ -1278,6 +1280,58 @@ void AndroidManifestEditorWidget::setHDPIIcon()
|
||||
setDirty(true);
|
||||
}
|
||||
|
||||
void AndroidManifestEditorWidget::clearLDPIIcon()
|
||||
{
|
||||
m_lIconPath.clear();
|
||||
m_lIconButton->setIcon(QIcon());
|
||||
}
|
||||
|
||||
void AndroidManifestEditorWidget::clearMDPIIcon()
|
||||
{
|
||||
m_mIconPath.clear();
|
||||
m_mIconButton->setIcon(QIcon());
|
||||
}
|
||||
|
||||
void AndroidManifestEditorWidget::clearHDPIIcon()
|
||||
{
|
||||
m_hIconPath.clear();
|
||||
m_hIconButton->setIcon(QIcon());
|
||||
}
|
||||
|
||||
void AndroidManifestEditorWidget::createDPIButton(QHBoxLayout *layout,
|
||||
QWidget *parent,
|
||||
QToolButton *&button,
|
||||
QToolButton *&clearButton,
|
||||
const QString &title,
|
||||
const QString &tooltip)
|
||||
{
|
||||
auto iconLayout = new QVBoxLayout();
|
||||
auto iconTitle = new QLabel(title, parent);
|
||||
auto iconButtonLayout = new QGridLayout();
|
||||
button = new QToolButton(parent);
|
||||
button->setMinimumSize(QSize(48, 48));
|
||||
button->setMaximumSize(QSize(48, 48));
|
||||
button->setToolTip(tooltip);
|
||||
clearButton = new QToolButton(parent);
|
||||
clearButton->setMinimumSize(QSize(16, 16));
|
||||
clearButton->setMaximumSize(QSize(16, 16));
|
||||
clearButton->setIcon(Utils::Icons::CLOSE_FOREGROUND.icon());
|
||||
auto label = new QLabel(tr("Click to select"), parent);
|
||||
iconLayout->addWidget(iconTitle);
|
||||
iconLayout->setAlignment(iconTitle, Qt::AlignHCenter);
|
||||
iconButtonLayout->setColumnMinimumWidth(0, 16);
|
||||
iconButtonLayout->addWidget(button, 0, 1, 1, 3);
|
||||
iconButtonLayout->setAlignment(button, Qt::AlignVCenter);
|
||||
iconButtonLayout->addWidget(clearButton, 0, 4, 1, 1);
|
||||
iconButtonLayout->setAlignment(clearButton, Qt::AlignTop);
|
||||
iconLayout->addLayout(iconButtonLayout);
|
||||
iconLayout->setAlignment(iconButtonLayout, Qt::AlignHCenter);
|
||||
iconLayout->addWidget(label);
|
||||
iconLayout->setAlignment(label, Qt::AlignHCenter);
|
||||
|
||||
layout->addLayout(iconLayout);
|
||||
}
|
||||
|
||||
void AndroidManifestEditorWidget::defaultPermissionOrFeatureCheckBoxClicked()
|
||||
{
|
||||
setDirty(true);
|
||||
|
@@ -37,6 +37,7 @@ class QDomDocument;
|
||||
class QDomElement;
|
||||
class QComboBox;
|
||||
class QPushButton;
|
||||
class QHBoxLayout;
|
||||
class QLabel;
|
||||
class QLineEdit;
|
||||
class QListView;
|
||||
@@ -118,6 +119,13 @@ private:
|
||||
void setLDPIIcon();
|
||||
void setMDPIIcon();
|
||||
void setHDPIIcon();
|
||||
void clearLDPIIcon();
|
||||
void clearMDPIIcon();
|
||||
void clearHDPIIcon();
|
||||
void createDPIButton(QHBoxLayout *layout,
|
||||
QWidget *parent,
|
||||
QToolButton *&button, QToolButton *&clearButton,
|
||||
const QString &title, const QString &tooltip);
|
||||
void defaultPermissionOrFeatureCheckBoxClicked();
|
||||
void addPermission();
|
||||
void removePermission();
|
||||
@@ -173,8 +181,11 @@ private:
|
||||
QLineEdit *m_activityNameLineEdit;
|
||||
QComboBox *m_targetLineEdit;
|
||||
QToolButton *m_lIconButton;
|
||||
QToolButton *m_lIconClearButton;
|
||||
QToolButton *m_mIconButton;
|
||||
QToolButton *m_mIconClearButton;
|
||||
QToolButton *m_hIconButton;
|
||||
QToolButton *m_hIconClearButton;
|
||||
QString m_lIconPath; // only set if the user changed the icon
|
||||
QString m_mIconPath;
|
||||
QString m_hIconPath;
|
||||
|
Reference in New Issue
Block a user