-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathoptionspage.cpp
More file actions
97 lines (86 loc) · 3.23 KB
/
optionspage.cpp
File metadata and controls
97 lines (86 loc) · 3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include "optionspage.h"
#include "tfssettings.h"
#include "tfsplugin.h"
#include "tfsconstants.h"
#include <coreplugin/icore.h>
#include <utils/pathchooser.h>
#include <vcsbase/vcsbaseconstants.h>
#include <QTextStream>
using namespace Tfs::Internal;
using namespace Tfs;
OptionsPageWidget::OptionsPageWidget(QWidget *parent) :
QWidget(parent)
{
m_ui.setupUi(this);
m_ui.commandChooser->setExpectedKind(Utils::PathChooser::ExistingCommand);
m_ui.commandChooser->setPromptDialogTitle(tr("Tfs Command"));
}
TfsSettings OptionsPageWidget::settings() const
{
TfsSettings s = TfsPlugin::instance()->settings();
s.setValue(TfsSettings::binaryPathKey, m_ui.commandChooser->rawPath());
s.setValue(TfsSettings::userNameKey, m_ui.defaultUsernameLineEdit->text().trimmed());
s.setValue(TfsSettings::userEmailKey, m_ui.defaultEmailLineEdit->text().trimmed());
// s.setValue(MercurialSettings::logCountKey, m_ui.logEntriesCount->value());
// s.setValue(MercurialSettings::timeoutKey, m_ui.timeout->value());
// s.setValue(MercurialSettings::promptOnSubmitKey, m_ui.promptOnSubmitCheckBox->isChecked());
return s;
}
void OptionsPageWidget::setSettings(const TfsSettings &s)
{
m_ui.commandChooser->setPath(s.stringValue(TfsSettings::binaryPathKey));
m_ui.defaultUsernameLineEdit->setText(s.stringValue(TfsSettings::userNameKey));
m_ui.defaultEmailLineEdit->setText(s.stringValue(TfsSettings::userEmailKey));
// m_ui.logEntriesCount->setValue(s.intValue(MercurialSettings::logCountKey));
// m_ui.timeout->setValue(s.intValue(MercurialSettings::timeoutKey));
// m_ui.promptOnSubmitCheckBox->setChecked(s.boolValue(MercurialSettings::promptOnSubmitKey));
}
QString OptionsPageWidget::searchKeywords() const
{
QString rc;
QLatin1Char sep(' ');
QTextStream(&rc)
<< sep << m_ui.configGroupBox->title()
<< sep << m_ui.tfsCommandLabel->text()
<< sep << m_ui.userGroupBox->title()
<< sep << m_ui.defaultUsernameLabel->text()
<< sep << m_ui.defaultEmailLabel->text()
// << sep << m_ui.miscGroupBox->title()
// << sep << m_ui.showLogEntriesLabel->text()
// << sep << m_ui.timeoutSecondsLabel->text()
// << sep << m_ui.promptOnSubmitCheckBox->text()
;
rc.remove(QLatin1Char('&'));
return rc;
}
OptionsPage::OptionsPage()
{
setId(VcsBase::Constants::VCS_ID_TFS);
setDisplayName(tr("Tfs"));
}
QWidget *OptionsPage::widget()
{
if (!optionsPageWidget)
optionsPageWidget = new OptionsPageWidget();
optionsPageWidget->setSettings(TfsPlugin::instance()->settings());
if (m_searchKeywords.isEmpty())
m_searchKeywords = optionsPageWidget->searchKeywords();
return optionsPageWidget;
}
void OptionsPage::apply()
{
if (!optionsPageWidget)
return;
TfsPlugin *plugin = TfsPlugin::instance();
const TfsSettings newSettings = optionsPageWidget->settings();
if (newSettings != plugin->settings()) {
//assume success and emit signal that settings are changed;
plugin->setSettings(newSettings);
newSettings.writeSettings(Core::ICore::settings());
emit settingsChanged();
}
}
void OptionsPage::finish()
{
delete optionsPageWidget;
}