diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2013-01-21 15:44:59 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-01-22 12:50:47 +0100 |
commit | 4d775ac56ac554b85c133d9eff5751d006c6171b (patch) | |
tree | 300a410909d4786e8fb071154d104def650a690e | |
parent | 47c3037c3df6be903228ecd5df04cc5f03020972 (diff) | |
download | qt-creator-4d775ac56ac554b85c133d9eff5751d006c6171b.tar.gz |
Kits: Fix editing of sysroot and mkspec
Task-number: QTCREATORBUG-8586
Change-Id: I074d7e85524e4dccef26c46391892477269648ce
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
4 files changed, 14 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp index 78e3927689..6908c013d0 100644 --- a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp @@ -56,7 +56,8 @@ namespace Internal { SysRootInformationConfigWidget::SysRootInformationConfigWidget(Kit *k, QWidget *parent) : KitConfigWidget(parent), - m_kit(k) + m_kit(k), + m_ignoreChange(false) { setToolTip(tr("The root directory of the system image to use.<br>" "Leave empty when building for the desktop.")); @@ -79,7 +80,8 @@ QString SysRootInformationConfigWidget::displayName() const void SysRootInformationConfigWidget::refresh() { - m_chooser->setFileName(SysRootKitInformation::sysRoot(m_kit)); + if (!m_ignoreChange) + m_chooser->setFileName(SysRootKitInformation::sysRoot(m_kit)); } void SysRootInformationConfigWidget::makeReadOnly() @@ -94,7 +96,9 @@ QWidget *SysRootInformationConfigWidget::buttonWidget() const void SysRootInformationConfigWidget::pathWasChanged() { + m_ignoreChange = true; SysRootKitInformation::setSysRoot(m_kit, m_chooser->fileName()); + m_ignoreChange = false; } // -------------------------------------------------------------------------- diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.h b/src/plugins/projectexplorer/kitinformationconfigwidget.h index 2f3aaf1dd0..54f02accda 100644 --- a/src/plugins/projectexplorer/kitinformationconfigwidget.h +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.h @@ -71,6 +71,7 @@ private slots: private: Kit *m_kit; Utils::PathChooser *m_chooser; + bool m_ignoreChange; }; // -------------------------------------------------------------------------- diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp index d5546f90b1..95f7e2ec5a 100644 --- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp @@ -44,7 +44,8 @@ namespace Internal { QmakeKitConfigWidget::QmakeKitConfigWidget(ProjectExplorer::Kit *k, QWidget *parent) : ProjectExplorer::KitConfigWidget(parent), m_kit(k), - m_lineEdit(new QLineEdit) + m_lineEdit(new QLineEdit), + m_ignoreChange(false) { setToolTip(tr("The mkspec to use when building the project with qmake.<br>" "This setting is ignored when using other build systems.")); @@ -70,12 +71,15 @@ void QmakeKitConfigWidget::makeReadOnly() void QmakeKitConfigWidget::refresh() { - m_lineEdit->setText(QmakeKitInformation::mkspec(m_kit).toString()); + if (!m_ignoreChange) + m_lineEdit->setText(QmakeKitInformation::mkspec(m_kit).toUserOutput()); } void QmakeKitConfigWidget::mkspecWasChanged(const QString &text) { + m_ignoreChange = true; QmakeKitInformation::setMkspec(m_kit, Utils::FileName::fromString(text)); + m_ignoreChange = false; } } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.h b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h index 0f2f9227e3..b9d6b5f2ed 100644 --- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.h +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h @@ -62,6 +62,7 @@ private: ProjectExplorer::Kit *m_kit; QLineEdit *m_lineEdit; + bool m_ignoreChange; }; } // namespace Internal |