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