Do not show rebuild dialog when checkboxes are changed from code

Only show the "Do you want to recompile now?" modal dialog if the
"Enable QML debugging" or "Enable Qt Quick Compiler" checkboxes have
been changed directly by the user.

The previous change let the QML debugging checkbox update also when the
.pro file has changed. Showing a modal dialog in such cases interrupts
the user's flow, and is unexpected.

Change-Id: I9304cbecee7e201694ff72ac8c0f38cedf5fb416
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Kai Koehne
2014-11-14 10:12:04 +01:00
parent 081115e5e6
commit 2d25e6290a
2 changed files with 7 additions and 5 deletions

View File

@@ -476,10 +476,14 @@ QMakeStepConfigWidget::QMakeStepConfigWidget(QMakeStep *step)
this, SLOT(qmakeArgumentsLineEdited())); this, SLOT(qmakeArgumentsLineEdited()));
connect(m_ui->buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)), connect(m_ui->buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
this, SLOT(buildConfigurationSelected())); this, SLOT(buildConfigurationSelected()));
connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)), connect(m_ui->qmlDebuggingLibraryCheckBox, &QCheckBox::toggled,
this, SLOT(linkQmlDebuggingLibraryChecked(bool))); this, &QMakeStepConfigWidget::linkQmlDebuggingLibraryChecked);
connect(m_ui->qmlDebuggingLibraryCheckBox, &QCheckBox::clicked,
this, &QMakeStepConfigWidget::askForRebuild);
connect(m_ui->qtQuickCompilerCheckBox, &QAbstractButton::toggled, connect(m_ui->qtQuickCompilerCheckBox, &QAbstractButton::toggled,
this, &QMakeStepConfigWidget::useQtQuickCompilerChecked); this, &QMakeStepConfigWidget::useQtQuickCompilerChecked);
connect(m_ui->qtQuickCompilerCheckBox, &QCheckBox::clicked,
this, &QMakeStepConfigWidget::askForRebuild);
connect(step, SIGNAL(userArgumentsChanged()), connect(step, SIGNAL(userArgumentsChanged()),
this, SLOT(userArgumentsChanged())); this, SLOT(userArgumentsChanged()));
connect(step, SIGNAL(linkQmlDebuggingLibraryChanged()), connect(step, SIGNAL(linkQmlDebuggingLibraryChanged()),
@@ -605,7 +609,6 @@ void QMakeStepConfigWidget::linkQmlDebuggingLibraryChecked(bool checked)
updateSummaryLabel(); updateSummaryLabel();
updateEffectiveQMakeCall(); updateEffectiveQMakeCall();
updateQmlDebuggingOption(); updateQmlDebuggingOption();
askForRebuild();
} }
void QMakeStepConfigWidget::askForRebuild() void QMakeStepConfigWidget::askForRebuild()
@@ -631,7 +634,6 @@ void QMakeStepConfigWidget::useQtQuickCompilerChecked(bool checked)
updateSummaryLabel(); updateSummaryLabel();
updateEffectiveQMakeCall(); updateEffectiveQMakeCall();
updateQtQuickCompilerOption(); updateQtQuickCompilerOption();
askForRebuild();
} }
void QMakeStepConfigWidget::updateSummaryLabel() void QMakeStepConfigWidget::updateSummaryLabel()

View File

@@ -165,6 +165,7 @@ private slots:
void buildConfigurationSelected(); void buildConfigurationSelected();
void linkQmlDebuggingLibraryChecked(bool checked); void linkQmlDebuggingLibraryChecked(bool checked);
void useQtQuickCompilerChecked(bool checked); void useQtQuickCompilerChecked(bool checked);
void askForRebuild();
private slots: private slots:
void recompileMessageBoxFinished(int button); void recompileMessageBoxFinished(int button);
@@ -174,7 +175,6 @@ private:
void updateQmlDebuggingOption(); void updateQmlDebuggingOption();
void updateQtQuickCompilerOption(); void updateQtQuickCompilerOption();
void updateEffectiveQMakeCall(); void updateEffectiveQMakeCall();
void askForRebuild();
void setSummaryText(const QString &); void setSummaryText(const QString &);