From 3fbd088bb9ffca1bd46204b4cd2b0782caefbc90 Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Fri, 8 Oct 2010 13:29:44 +0200
Subject: [PATCH] QuickToolBars: bugfix for FileWidget

The document path is now taken into account when opening
a document.
Also we use released() instead of pressed()

Task-number: QTCREATORBUG-2621

Reviewed-by: Kai Koehne
---
 src/libs/qmleditorwidgets/filewidget.cpp | 10 +++-------
 src/libs/qmleditorwidgets/filewidget.h   |  3 +--
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/libs/qmleditorwidgets/filewidget.cpp b/src/libs/qmleditorwidgets/filewidget.cpp
index 47a0020a871..5a405d64b4c 100644
--- a/src/libs/qmleditorwidgets/filewidget.cpp
+++ b/src/libs/qmleditorwidgets/filewidget.cpp
@@ -53,9 +53,8 @@ FileWidget::FileWidget(QWidget *parent) : QWidget(parent), m_filter("(*.*)"), m_
     layout->addWidget(m_pushButton);
     m_pushButton->setText("...");
     connect(m_lineEdit, SIGNAL(editingFinished()), this, SLOT(lineEditChanged()));
-    connect(m_pushButton, SIGNAL(pressed()), this, SLOT(buttonPressed()));
+    connect(m_pushButton, SIGNAL(released()), this, SLOT(onButtonReleased()));
     connect(m_comboBox, SIGNAL(editTextChanged(const QString &)), this, SLOT(comboBoxChanged()));
-    m_currentPath = QDir::currentPath();
 }
 
 FileWidget::~FileWidget()
@@ -83,14 +82,11 @@ void FileWidget::comboBoxChanged()
     setFileNameStr(m_comboBox->currentText());
 }
 
-void FileWidget::buttonPressed()
+void FileWidget::onButtonReleased()
 {
-    QString path = m_currentPath;
-    QString newFile = QFileDialog::getOpenFileName(0, tr("Open File"), path, m_filter);
+    QString newFile = QFileDialog::getOpenFileName(0, tr("Open File"), m_path.toLocalFile(), m_filter);
     if (!newFile.isEmpty())
         setFileNameStr(newFile);
-
-    m_currentPath = QFileInfo(newFile).absolutePath();
 }
 
 void FileWidget::setFileNameStr(const QString &fileName)
diff --git a/src/libs/qmleditorwidgets/filewidget.h b/src/libs/qmleditorwidgets/filewidget.h
index a1c1e37bec2..971a28f5c76 100644
--- a/src/libs/qmleditorwidgets/filewidget.h
+++ b/src/libs/qmleditorwidgets/filewidget.h
@@ -91,7 +91,7 @@ public:
 public slots:
     void setFileName(const QUrl &fileName);
     void setFileNameStr(const QString &fileName);
-    void buttonPressed();
+    void onButtonReleased();
     void lineEditChanged();
     void comboBoxChanged();
 
@@ -113,7 +113,6 @@ private:
     QString m_filter;
     bool m_showComboBox;
     bool m_lock;
-    QString m_currentPath;
 
 };
 
-- 
GitLab