From 48de21c525fd244503ab42ce24f62311905d9c69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20N=C3=A4tterlund?= <tobias.naetterlund.qnx@kdab.com>
Date: Fri, 18 Jan 2013 14:39:38 +0100
Subject: [PATCH] QNX: Write data to model when browse is finished

Without this patch, the user was forced to press
Enter after browsing for a file, to commit the
data to the model. Now, the writing of the data
is done immediately after browsing is completed.

Change-Id: I3d0966b83c4496145c37b80c9e0b93b513b38ace
Reviewed-by: Mehdi Fekari <mfekari@rim.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 src/plugins/qnx/pathchooserdelegate.cpp | 7 +++++++
 src/plugins/qnx/pathchooserdelegate.h   | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/src/plugins/qnx/pathchooserdelegate.cpp b/src/plugins/qnx/pathchooserdelegate.cpp
index 248a8dc20d1..391e621698e 100644
--- a/src/plugins/qnx/pathchooserdelegate.cpp
+++ b/src/plugins/qnx/pathchooserdelegate.cpp
@@ -64,6 +64,8 @@ QWidget *PathChooserDelegate::createEditor(QWidget *parent, const QStyleOptionVi
     editor->setAutoFillBackground(true); // To hide the text beneath the editor widget
     editor->lineEdit()->setMinimumWidth(0);
 
+    connect(editor, SIGNAL(browsingFinished()), this, SLOT(emitCommitData()));
+
     return editor;
 }
 
@@ -95,3 +97,8 @@ void PathChooserDelegate::updateEditorGeometry(QWidget *editor, const QStyleOpti
 
     editor->setGeometry(option.rect);
 }
+
+void PathChooserDelegate::emitCommitData()
+{
+    emit commitData(qobject_cast<QWidget*>(sender()));
+}
diff --git a/src/plugins/qnx/pathchooserdelegate.h b/src/plugins/qnx/pathchooserdelegate.h
index 6db5ce2b034..9ac4ee598bd 100644
--- a/src/plugins/qnx/pathchooserdelegate.h
+++ b/src/plugins/qnx/pathchooserdelegate.h
@@ -60,6 +60,9 @@ public:
     void updateEditorGeometry(QWidget *editor,
         const QStyleOptionViewItem &option, const QModelIndex &index) const;
 
+private slots:
+    void emitCommitData();
+
 private:
     Utils::PathChooser::Kind m_kind;
     QString m_filter;
-- 
GitLab