Debugger: Display debugger type in debugger configuration detail page

Change-Id: I24432af08db8ead2a2b91059e795445e654ac5cd
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-01-06 16:29:13 +01:00
parent 8276253558
commit 94e8577852

View File

@@ -229,6 +229,7 @@ private:
DebuggerItemModel *m_model; DebuggerItemModel *m_model;
QLineEdit *m_displayNameLineEdit; QLineEdit *m_displayNameLineEdit;
QLineEdit *m_typeLineEdit;
QLabel *m_cdbLabel; QLabel *m_cdbLabel;
QLineEdit *m_versionLabel; QLineEdit *m_versionLabel;
PathChooser *m_binaryChooser; PathChooser *m_binaryChooser;
@@ -243,6 +244,9 @@ DebuggerItemConfigWidget::DebuggerItemConfigWidget(DebuggerItemModel *model)
{ {
m_displayNameLineEdit = new QLineEdit(this); m_displayNameLineEdit = new QLineEdit(this);
m_typeLineEdit = new QLineEdit(this);
m_typeLineEdit->setEnabled(false);
m_binaryChooser = new PathChooser(this); m_binaryChooser = new PathChooser(this);
m_binaryChooser->setExpectedKind(PathChooser::ExistingCommand); m_binaryChooser->setExpectedKind(PathChooser::ExistingCommand);
m_binaryChooser->setMinimumWidth(400); m_binaryChooser->setMinimumWidth(400);
@@ -262,9 +266,9 @@ DebuggerItemConfigWidget::DebuggerItemConfigWidget(DebuggerItemModel *model)
QFormLayout *formLayout = new QFormLayout(this); QFormLayout *formLayout = new QFormLayout(this);
formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
formLayout->addRow(new QLabel(tr("Name:")), m_displayNameLineEdit); formLayout->addRow(new QLabel(tr("Name:")), m_displayNameLineEdit);
// formLayout->addRow(new QLabel(tr("Type:")), m_engineTypeComboBox);
formLayout->addRow(m_cdbLabel); formLayout->addRow(m_cdbLabel);
formLayout->addRow(new QLabel(tr("Path:")), m_binaryChooser); formLayout->addRow(new QLabel(tr("Path:")), m_binaryChooser);
formLayout->addRow(new QLabel(tr("Type:")), m_typeLineEdit);
formLayout->addRow(new QLabel(tr("ABIs:")), m_abis); formLayout->addRow(new QLabel(tr("ABIs:")), m_abis);
formLayout->addRow(new QLabel(tr("Version:")), m_versionLabel); formLayout->addRow(new QLabel(tr("Version:")), m_versionLabel);
@@ -315,6 +319,8 @@ void DebuggerItemConfigWidget::load(const DebuggerItem *item)
m_displayNameLineEdit->setEnabled(!item->isAutoDetected()); m_displayNameLineEdit->setEnabled(!item->isAutoDetected());
m_displayNameLineEdit->setText(item->displayName()); m_displayNameLineEdit->setText(item->displayName());
m_typeLineEdit->setText(item->engineTypeName());
m_binaryChooser->setReadOnly(item->isAutoDetected()); m_binaryChooser->setReadOnly(item->isAutoDetected());
m_binaryChooser->setFileName(item->command()); m_binaryChooser->setFileName(item->command());
@@ -348,27 +354,18 @@ void DebuggerItemConfigWidget::binaryPathHasChanged()
if (!m_id.isValid()) if (!m_id.isValid())
return; return;
// Use DebuggerItemManager as a cache: DebuggerItem tmp;
const DebuggerItem *existing QFileInfo fi = QFileInfo(m_binaryChooser->path());
= DebuggerItemManager::findByCommand(m_binaryChooser->fileName()); if (fi.isExecutable()) {
if (existing) { tmp = item();
setAbis(existing->abiNames()); tmp.reinitializeFromFile();
m_versionLabel->setText(existing->version());
m_engineType = existing->engineType();
} else {
QFileInfo fi = QFileInfo(m_binaryChooser->path());
if (fi.isExecutable()) {
DebuggerItem tmp = item();
tmp.reinitializeFromFile();
setAbis(tmp.abiNames());
m_versionLabel->setText(tmp.version());
m_engineType = tmp.engineType();
} else {
setAbis(QStringList());
m_versionLabel->setText(QString());
m_engineType = NoEngineType;
}
} }
setAbis(tmp.abiNames());
m_versionLabel->setText(tmp.version());
m_engineType = tmp.engineType();
m_typeLineEdit->setText(tmp.engineTypeName());
store(); store();
} }