From 9bfb54f59a325bd3fb6fdbaca85a3a342e0b1ef8 Mon Sep 17 00:00:00 2001 From: goro <qtc-committer@nokia.com> Date: Fri, 5 Dec 2008 19:11:06 +0100 Subject: [PATCH] Migrate Perforce plugin to PathChooser --- src/plugins/perforce/settingspage.cpp | 16 +++++----------- src/plugins/perforce/settingspage.h | 3 --- src/plugins/perforce/settingspage.ui | 18 +++++++++--------- 3 files changed, 14 insertions(+), 23 deletions(-) diff --git a/src/plugins/perforce/settingspage.cpp b/src/plugins/perforce/settingspage.cpp index 5fd7dda4862..b5cbd7fa000 100644 --- a/src/plugins/perforce/settingspage.cpp +++ b/src/plugins/perforce/settingspage.cpp @@ -39,18 +39,20 @@ #include <QtGui/QFileDialog> using namespace Perforce::Internal; +using namespace Core::Utils; SettingsPageWidget::SettingsPageWidget(QWidget *parent) : QWidget(parent) { m_ui.setupUi(this); - connect(m_ui.browseButton, SIGNAL(clicked()), this, SLOT(browseForCommand())); + m_ui.pathChooser->setPromptDialogTitle(tr("Perforce Command")); + m_ui.pathChooser->setExpectedKind(PathChooser::Command); } PerforceSettings SettingsPageWidget::settings() const { PerforceSettings rc; - rc.p4Command = m_ui.p4CmdLineEdit->text(); + rc.p4Command = m_ui.pathChooser->path(); rc.defaultEnv = m_ui.defaultCheckBox->isChecked(); rc.p4Port = m_ui.portLineEdit->text(); rc.p4Client = m_ui.clientLineEdit->text(); @@ -60,21 +62,13 @@ PerforceSettings SettingsPageWidget::settings() const void SettingsPageWidget::setSettings(const PerforceSettings &s) { - m_ui.p4CmdLineEdit->setText(s.p4Command); + m_ui.pathChooser->setPath(s.p4Command); m_ui.defaultCheckBox->setChecked(s.defaultEnv); m_ui.portLineEdit->setText(s.p4Port); m_ui.clientLineEdit->setText(s.p4Client); m_ui.userLineEdit->setText(s.p4User); } -void SettingsPageWidget::browseForCommand() -{ - const QString cmd = QFileDialog::getOpenFileName(window(), tr("Perforce Command")); - if (!cmd.isEmpty()) - m_ui.p4CmdLineEdit->setText(cmd); -} - - SettingsPage::SettingsPage() { } diff --git a/src/plugins/perforce/settingspage.h b/src/plugins/perforce/settingspage.h index f73a205e112..23e96812573 100644 --- a/src/plugins/perforce/settingspage.h +++ b/src/plugins/perforce/settingspage.h @@ -54,9 +54,6 @@ public: PerforceSettings settings() const; void setSettings(const PerforceSettings &); -private slots:; - void browseForCommand(); - private: Ui::SettingsPage m_ui; }; diff --git a/src/plugins/perforce/settingspage.ui b/src/plugins/perforce/settingspage.ui index 1379b7b6666..b2d6bf10e35 100644 --- a/src/plugins/perforce/settingspage.ui +++ b/src/plugins/perforce/settingspage.ui @@ -36,14 +36,7 @@ </widget> </item> <item> - <widget class="QLineEdit" name="p4CmdLineEdit"/> - </item> - <item> - <widget class="QToolButton" name="browseButton"> - <property name="text"> - <string>...</string> - </property> - </widget> + <widget class="Core::Utils::PathChooser" name="pathChooser" native="true"/> </item> </layout> </item> @@ -120,11 +113,18 @@ </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>Core::Utils::PathChooser</class> + <extends>QWidget</extends> + <header location="global">utils/pathchooser.h</header> + <container>1</container> + </customwidget> + </customwidgets> <tabstops> <tabstop>portLineEdit</tabstop> <tabstop>clientLineEdit</tabstop> <tabstop>userLineEdit</tabstop> - <tabstop>p4CmdLineEdit</tabstop> </tabstops> <resources/> <connections> -- GitLab