1 #include "confluence-settings-dialog.h"
5 extern QString confluencePassword;
6 extern Settings settings;
8 ConfluenceSettingsDialog::ConfluenceSettingsDialog(QWidget *parent) : QDialog(parent)
11 QDialog::setWindowTitle("VYM - " +
12 tr("Confluence settings", "Confluence settings dialog title"));
14 ui.urlLineEdit->setText(
15 settings.value("/atlassian/confluence/url", "Confluence base URL").toString());
18 b = settings.value("/atlassian/confluence/authUsingPAT", true).toBool();
20 ui.usePATCheckBox->setCheckState(Qt::Checked);
22 ui.usePATCheckBox->setCheckState(Qt::Unchecked);
23 ui.PATLineEdit->setText(
24 settings.value("/atlassian/confluence/PAT", "").toString());
26 ui.userLineEdit->setText(
27 settings.value("/atlassian/confluence/username", "Confluence username")
30 if (!confluencePassword.isEmpty())
31 // password is only in memory, not saved in settings
32 ui.passwordLineEdit->setText(confluencePassword);
34 ui.passwordLineEdit->setText(
35 settings.value("/atlassian/confluence/password", "").toString());
37 b = settings.value("/atlassian/confluence/savePassword", false).toBool();
39 ui.savePasswordCheckBox->setCheckState(Qt::Checked);
41 ui.savePasswordCheckBox->setCheckState(Qt::Unchecked);
43 connect(ui.usePATCheckBox, SIGNAL(clicked()), this, SLOT(updateAuthenticationFields()));
44 connect(this, &QDialog::accepted, this, &ConfluenceSettingsDialog::updateSettings);
46 updateAuthenticationFields();
49 void ConfluenceSettingsDialog::updateAuthenticationFields()
51 if (ui.usePATCheckBox->isChecked()) {
52 ui.PATLineEdit->show();
55 ui.userLineEdit->hide();
56 ui.passwordLabel->hide();
57 ui.passwordLineEdit->hide();
58 ui.savePasswordCheckBox->hide();
60 ui.PATLineEdit->hide();
63 ui.userLineEdit->show();
64 ui.passwordLabel->show();
65 ui.passwordLineEdit->show();
66 ui.savePasswordCheckBox->show();
71 void ConfluenceSettingsDialog::updateSettings()
73 settings.remove("confluence");
75 settings.beginGroup("/atlassian/confluence");
76 settings.setValue("authUsingPAT", ui.usePATCheckBox->isChecked());
77 settings.setValue("username", ui.userLineEdit->text());
78 if (ui.usePATCheckBox->isChecked()) {
79 // Don't save password if PAT is used
80 settings.remove("savePassword");
81 settings.remove("password");
82 if(!ui.PATLineEdit->text().isEmpty())
83 settings.setValue("PAT", ui.PATLineEdit->text());
85 settings.remove("PAT");
87 settings.remove("PAT");
88 settings.setValue("savePassword", ui.savePasswordCheckBox->isChecked());
90 // Save password only on request persistently in settings
91 if (ui.savePasswordCheckBox->isChecked())
92 settings.setValue("password", ui.passwordLineEdit->text());
94 settings.remove("password");
96 // Save password in memory
97 confluencePassword = ui.passwordLineEdit->text();