forked from qt-creator/qt-creator
ToolChains: Fix enabling the toolchain combobox in the Kits page
Change-Id: I96b44e2febf070f4eea4a5b5878382dd8b374564 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
@@ -127,10 +127,10 @@ void SysRootInformationConfigWidget::pathWasChanged()
|
|||||||
|
|
||||||
ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Kit *k, const KitInformation *ki) :
|
ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Kit *k, const KitInformation *ki) :
|
||||||
KitConfigWidget(k, ki),
|
KitConfigWidget(k, ki),
|
||||||
m_ignoreChanges(false)
|
m_ignoreChanges(false),
|
||||||
|
m_isReadOnly(false)
|
||||||
{
|
{
|
||||||
m_comboBox = new QComboBox;
|
m_comboBox = new QComboBox;
|
||||||
m_comboBox->setEnabled(false);
|
|
||||||
m_comboBox->setToolTip(toolTip());
|
m_comboBox->setToolTip(toolTip());
|
||||||
|
|
||||||
refresh();
|
refresh();
|
||||||
@@ -166,7 +166,12 @@ void ToolChainInformationConfigWidget::refresh()
|
|||||||
foreach (ToolChain *tc, ToolChainManager::toolChains())
|
foreach (ToolChain *tc, ToolChainManager::toolChains())
|
||||||
m_comboBox->addItem(tc->displayName(), tc->id());
|
m_comboBox->addItem(tc->displayName(), tc->id());
|
||||||
|
|
||||||
m_comboBox->setEnabled(m_comboBox->count() > 1);
|
if (m_comboBox->count() == 0) {
|
||||||
|
m_comboBox->addItem(tr("<No compiler available>"), QString());
|
||||||
|
m_comboBox->setEnabled(false);
|
||||||
|
} else {
|
||||||
|
m_comboBox->setEnabled(m_comboBox->count() > 1 && !m_isReadOnly);
|
||||||
|
}
|
||||||
|
|
||||||
m_comboBox->setCurrentIndex(indexOf(ToolChainKitInformation::toolChain(m_kit)));
|
m_comboBox->setCurrentIndex(indexOf(ToolChainKitInformation::toolChain(m_kit)));
|
||||||
m_ignoreChanges = false;
|
m_ignoreChanges = false;
|
||||||
@@ -174,6 +179,7 @@ void ToolChainInformationConfigWidget::refresh()
|
|||||||
|
|
||||||
void ToolChainInformationConfigWidget::makeReadOnly()
|
void ToolChainInformationConfigWidget::makeReadOnly()
|
||||||
{
|
{
|
||||||
|
m_isReadOnly = true;
|
||||||
m_comboBox->setEnabled(false);
|
m_comboBox->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,21 +207,6 @@ void ToolChainInformationConfigWidget::currentToolChainChanged(int idx)
|
|||||||
ToolChainKitInformation::setToolChain(m_kit, ToolChainManager::findToolChain(id));
|
ToolChainKitInformation::setToolChain(m_kit, ToolChainManager::findToolChain(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolChainInformationConfigWidget::updateComboBox()
|
|
||||||
{
|
|
||||||
// remove unavailable tool chain:
|
|
||||||
int pos = indexOf(0);
|
|
||||||
if (pos >= 0)
|
|
||||||
m_comboBox->removeItem(pos);
|
|
||||||
|
|
||||||
if (m_comboBox->count() == 0) {
|
|
||||||
m_comboBox->addItem(tr("<No compiler available>"), QString());
|
|
||||||
m_comboBox->setEnabled(false);
|
|
||||||
} else {
|
|
||||||
m_comboBox->setEnabled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int ToolChainInformationConfigWidget::indexOf(const ToolChain *tc)
|
int ToolChainInformationConfigWidget::indexOf(const ToolChain *tc)
|
||||||
{
|
{
|
||||||
const QString id = tc ? tc->id() : QString();
|
const QString id = tc ? tc->id() : QString();
|
||||||
|
@@ -104,12 +104,12 @@ private slots:
|
|||||||
void currentToolChainChanged(int idx);
|
void currentToolChainChanged(int idx);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateComboBox();
|
|
||||||
int indexOf(const ToolChain *tc);
|
int indexOf(const ToolChain *tc);
|
||||||
|
|
||||||
QComboBox *m_comboBox;
|
QComboBox *m_comboBox;
|
||||||
QPushButton *m_manageButton;
|
QPushButton *m_manageButton;
|
||||||
bool m_ignoreChanges;
|
bool m_ignoreChanges;
|
||||||
|
bool m_isReadOnly;
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user