Migrate Perforce plugin to PathChooser

This commit is contained in:
goro
2008-12-05 19:11:06 +01:00
parent 8f757bd4d0
commit 9bfb54f59a
3 changed files with 14 additions and 23 deletions

View File

@@ -39,18 +39,20 @@
#include <QtGui/QFileDialog> #include <QtGui/QFileDialog>
using namespace Perforce::Internal; using namespace Perforce::Internal;
using namespace Core::Utils;
SettingsPageWidget::SettingsPageWidget(QWidget *parent) : SettingsPageWidget::SettingsPageWidget(QWidget *parent) :
QWidget(parent) QWidget(parent)
{ {
m_ui.setupUi(this); 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 SettingsPageWidget::settings() const
{ {
PerforceSettings rc; PerforceSettings rc;
rc.p4Command = m_ui.p4CmdLineEdit->text(); rc.p4Command = m_ui.pathChooser->path();
rc.defaultEnv = m_ui.defaultCheckBox->isChecked(); rc.defaultEnv = m_ui.defaultCheckBox->isChecked();
rc.p4Port = m_ui.portLineEdit->text(); rc.p4Port = m_ui.portLineEdit->text();
rc.p4Client = m_ui.clientLineEdit->text(); rc.p4Client = m_ui.clientLineEdit->text();
@@ -60,21 +62,13 @@ PerforceSettings SettingsPageWidget::settings() const
void SettingsPageWidget::setSettings(const PerforceSettings &s) 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.defaultCheckBox->setChecked(s.defaultEnv);
m_ui.portLineEdit->setText(s.p4Port); m_ui.portLineEdit->setText(s.p4Port);
m_ui.clientLineEdit->setText(s.p4Client); m_ui.clientLineEdit->setText(s.p4Client);
m_ui.userLineEdit->setText(s.p4User); 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() SettingsPage::SettingsPage()
{ {
} }

View File

@@ -54,9 +54,6 @@ public:
PerforceSettings settings() const; PerforceSettings settings() const;
void setSettings(const PerforceSettings &); void setSettings(const PerforceSettings &);
private slots:;
void browseForCommand();
private: private:
Ui::SettingsPage m_ui; Ui::SettingsPage m_ui;
}; };

View File

@@ -36,14 +36,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="p4CmdLineEdit"/> <widget class="Core::Utils::PathChooser" name="pathChooser" native="true"/>
</item>
<item>
<widget class="QToolButton" name="browseButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -120,11 +113,18 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<customwidgets>
<customwidget>
<class>Core::Utils::PathChooser</class>
<extends>QWidget</extends>
<header location="global">utils/pathchooser.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops> <tabstops>
<tabstop>portLineEdit</tabstop> <tabstop>portLineEdit</tabstop>
<tabstop>clientLineEdit</tabstop> <tabstop>clientLineEdit</tabstop>
<tabstop>userLineEdit</tabstop> <tabstop>userLineEdit</tabstop>
<tabstop>p4CmdLineEdit</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections> <connections>