From 58892081dec613b89394f10f9d78b9d84b0d5a48 Mon Sep 17 00:00:00 2001 From: Alessandro Portale <alessandro.portale@nokia.com> Date: Wed, 25 Aug 2010 15:11:14 +0200 Subject: [PATCH] Set added item as current item. Much more intuitive. --- .../wizards/qmlstandaloneappwizardpages.cpp | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/plugins/qt4projectmanager/wizards/qmlstandaloneappwizardpages.cpp b/src/plugins/qt4projectmanager/wizards/qmlstandaloneappwizardpages.cpp index 337937fd98f..f5c6ca748af 100644 --- a/src/plugins/qt4projectmanager/wizards/qmlstandaloneappwizardpages.cpp +++ b/src/plugins/qt4projectmanager/wizards/qmlstandaloneappwizardpages.cpp @@ -95,19 +95,26 @@ void QmlStandaloneAppWizardSourcesPage::setModulesError(const QString &error) void QmlStandaloneAppWizardSourcesPage::on_addModuleUriButton_clicked() { - setFocus(); // Interrupt any current editing QListWidgetItem *item = new QListWidgetItem(m_d->ui.urisListWidget); item->setFlags(item->flags() | Qt::ItemIsEditable); + m_d->ui.urisListWidget->setCurrentItem(item); m_d->ui.urisListWidget->editItem(item); } -void QmlStandaloneAppWizardSourcesPage::on_removeModuleUriButton_clicked() +static bool removeListWidgetItem(QListWidget *list) { - const int currentRow = m_d->ui.urisListWidget->currentRow(); + const int currentRow = list->currentRow(); if (currentRow >= 0) { - m_d->ui.urisListWidget->takeItem(currentRow); - handleModulesChanged(); + list->takeItem(currentRow); + return true; } + return false; +} + +void QmlStandaloneAppWizardSourcesPage::on_removeModuleUriButton_clicked() +{ + if (removeListWidgetItem(m_d->ui.urisListWidget)) + handleModulesChanged(); } void QmlStandaloneAppWizardSourcesPage::on_addImportPathButton_clicked() @@ -117,16 +124,14 @@ void QmlStandaloneAppWizardSourcesPage::on_addImportPathButton_clicked() if (!path.isEmpty()) { QListWidgetItem *item = new QListWidgetItem(QDir::toNativeSeparators(path), m_d->ui.importPathsListWidget); item->setFlags(item->flags() | Qt::ItemIsEditable); + m_d->ui.importPathsListWidget->setCurrentItem(item); } } void QmlStandaloneAppWizardSourcesPage::on_removeImportPathButton_clicked() { - const int currentRow = m_d->ui.importPathsListWidget->currentRow(); - if (currentRow >= 0) { - m_d->ui.importPathsListWidget->takeItem(currentRow); + if (removeListWidgetItem(m_d->ui.importPathsListWidget)) handleModulesChanged(); - } } static inline QStringList ertriesFromListWidget(const QListWidget &listWidget) -- GitLab