mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-01-13 16:30:29 -05:00
Rework HTTP settings
This commit is contained in:
parent
9715ba0c8a
commit
d98249814d
@ -32,13 +32,10 @@ HttpPasswordGeneratorWidget::HttpPasswordGeneratorWidget(QWidget* parent)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
|
||||
connect(m_ui->buttonApply, SIGNAL(clicked()), SLOT(saveSettings()));
|
||||
|
||||
connect(m_ui->sliderLength, SIGNAL(valueChanged(int)), SLOT(sliderMoved()));
|
||||
connect(m_ui->spinBoxLength, SIGNAL(valueChanged(int)), SLOT(spinBoxChanged()));
|
||||
|
||||
connect(m_ui->optionButtons, SIGNAL(buttonClicked(int)), SLOT(updateGenerator()));
|
||||
m_ui->buttonApply->setEnabled(true);
|
||||
|
||||
loadSettings();
|
||||
reset();
|
||||
|
@ -35,10 +35,10 @@ public:
|
||||
explicit HttpPasswordGeneratorWidget(QWidget* parent = nullptr);
|
||||
~HttpPasswordGeneratorWidget();
|
||||
void loadSettings();
|
||||
void saveSettings();
|
||||
void reset();
|
||||
|
||||
private Q_SLOTS:
|
||||
void saveSettings();
|
||||
void sliderMoved();
|
||||
void spinBoxChanged();
|
||||
|
||||
|
@ -6,14 +6,26 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>434</width>
|
||||
<height>250</height>
|
||||
<width>500</width>
|
||||
<height>181</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
@ -168,42 +180,8 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="buttonApply">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Accept</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>PasswordComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header location="global">gui/PasswordComboBox.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>sliderLength</tabstop>
|
||||
<tabstop>spinBoxLength</tabstop>
|
||||
@ -213,7 +191,6 @@
|
||||
<tabstop>checkBoxSpecialChars</tabstop>
|
||||
<tabstop>checkBoxExcludeAlike</tabstop>
|
||||
<tabstop>checkBoxEnsureEvery</tabstop>
|
||||
<tabstop>buttonApply</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
@ -15,15 +15,21 @@
|
||||
#include "ui_OptionDialog.h"
|
||||
#include "HttpSettings.h"
|
||||
|
||||
#include "core/FilePath.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
|
||||
OptionDialog::OptionDialog(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::OptionDialog())
|
||||
m_ui(new Ui::OptionDialog())
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(ui->removeSharedEncryptionKeys, SIGNAL(clicked()), this, SIGNAL(removeSharedEncryptionKeys()));
|
||||
connect(ui->removeStoredPermissions, SIGNAL(clicked()), this, SIGNAL(removeStoredPermissions()));
|
||||
m_ui->setupUi(this);
|
||||
connect(m_ui->removeSharedEncryptionKeys, SIGNAL(clicked()), this, SIGNAL(removeSharedEncryptionKeys()));
|
||||
connect(m_ui->removeStoredPermissions, SIGNAL(clicked()), this, SIGNAL(removeStoredPermissions()));
|
||||
|
||||
m_ui->warningWidget->showMessage(tr("The following options can be dangerous!\nChange them only if you know what you are doing."), MessageWidget::Warning);
|
||||
m_ui->warningWidget->setIcon(FilePath::instance()->icon("status", "dialog-warning"));
|
||||
m_ui->warningWidget->setCloseButtonVisible(false);
|
||||
}
|
||||
|
||||
OptionDialog::~OptionDialog()
|
||||
@ -33,65 +39,48 @@ OptionDialog::~OptionDialog()
|
||||
void OptionDialog::loadSettings()
|
||||
{
|
||||
HttpSettings settings;
|
||||
ui->enableHttpServer->setChecked(settings.isEnabled());
|
||||
m_ui->enableHttpServer->setChecked(settings.isEnabled());
|
||||
|
||||
ui->showNotification->setChecked(settings.showNotification());
|
||||
ui->bestMatchOnly->setChecked(settings.bestMatchOnly());
|
||||
ui->unlockDatabase->setChecked(settings.unlockDatabase());
|
||||
ui->matchUrlScheme->setChecked(settings.matchUrlScheme());
|
||||
m_ui->showNotification->setChecked(settings.showNotification());
|
||||
m_ui->bestMatchOnly->setChecked(settings.bestMatchOnly());
|
||||
m_ui->unlockDatabase->setChecked(settings.unlockDatabase());
|
||||
m_ui->matchUrlScheme->setChecked(settings.matchUrlScheme());
|
||||
if (settings.sortByUsername())
|
||||
ui->sortByUsername->setChecked(true);
|
||||
m_ui->sortByUsername->setChecked(true);
|
||||
else
|
||||
ui->sortByTitle->setChecked(true);
|
||||
ui->httpPort->setText(QString::number(settings.httpPort()));
|
||||
m_ui->sortByTitle->setChecked(true);
|
||||
m_ui->httpPort->setText(QString::number(settings.httpPort()));
|
||||
|
||||
/*
|
||||
ui->checkBoxLower->setChecked(settings.passwordUseLowercase());
|
||||
ui->checkBoxNumbers->setChecked(settings.passwordUseNumbers());
|
||||
ui->checkBoxUpper->setChecked(settings.passwordUseUppercase());
|
||||
ui->checkBoxSpecialChars->setChecked(settings.passwordUseSpecial());
|
||||
ui->checkBoxEnsureEvery->setChecked(settings.passwordEveryGroup());
|
||||
ui->checkBoxExcludeAlike->setChecked(settings.passwordExcludeAlike());
|
||||
ui->spinBoxLength->setValue(settings.passwordLength());
|
||||
*/
|
||||
m_ui->alwaysAllowAccess->setChecked(settings.alwaysAllowAccess());
|
||||
m_ui->alwaysAllowUpdate->setChecked(settings.alwaysAllowUpdate());
|
||||
m_ui->searchInAllDatabases->setChecked(settings.searchInAllDatabases());
|
||||
m_ui->supportKphFields->setChecked(settings.supportKphFields());
|
||||
|
||||
ui->alwaysAllowAccess->setChecked(settings.alwaysAllowAccess());
|
||||
ui->alwaysAllowUpdate->setChecked(settings.alwaysAllowUpdate());
|
||||
ui->searchInAllDatabases->setChecked(settings.searchInAllDatabases());
|
||||
ui->supportKphFields->setChecked(settings.supportKphFields());
|
||||
m_ui->passwordGenerator->loadSettings();
|
||||
}
|
||||
|
||||
void OptionDialog::saveSettings()
|
||||
{
|
||||
HttpSettings settings;
|
||||
settings.setEnabled(ui->enableHttpServer->isChecked());
|
||||
settings.setEnabled(m_ui->enableHttpServer->isChecked());
|
||||
|
||||
settings.setShowNotification(ui->showNotification->isChecked());
|
||||
settings.setBestMatchOnly(ui->bestMatchOnly->isChecked());
|
||||
settings.setUnlockDatabase(ui->unlockDatabase->isChecked());
|
||||
settings.setMatchUrlScheme(ui->matchUrlScheme->isChecked());
|
||||
settings.setSortByUsername(ui->sortByUsername->isChecked());
|
||||
settings.setShowNotification(m_ui->showNotification->isChecked());
|
||||
settings.setBestMatchOnly(m_ui->bestMatchOnly->isChecked());
|
||||
settings.setUnlockDatabase(m_ui->unlockDatabase->isChecked());
|
||||
settings.setMatchUrlScheme(m_ui->matchUrlScheme->isChecked());
|
||||
settings.setSortByUsername(m_ui->sortByUsername->isChecked());
|
||||
|
||||
int port = ui->httpPort->text().toInt();
|
||||
int port = m_ui->httpPort->text().toInt();
|
||||
if (port < 1024) {
|
||||
QMessageBox::warning(this, tr("Cannot bind to privileged ports"),
|
||||
tr("Cannot bind to privileged ports below 1024!\nUsing default port 19455."));
|
||||
port = 19455;
|
||||
}
|
||||
settings.setHttpPort(port);
|
||||
settings.setAlwaysAllowAccess(m_ui->alwaysAllowAccess->isChecked());
|
||||
settings.setAlwaysAllowUpdate(m_ui->alwaysAllowUpdate->isChecked());
|
||||
settings.setSearchInAllDatabases(m_ui->searchInAllDatabases->isChecked());
|
||||
settings.setSupportKphFields(m_ui->supportKphFields->isChecked());
|
||||
|
||||
/*
|
||||
settings.setPasswordUseLowercase(ui->checkBoxLower->isChecked());
|
||||
settings.setPasswordUseNumbers(ui->checkBoxNumbers->isChecked());
|
||||
settings.setPasswordUseUppercase(ui->checkBoxUpper->isChecked());
|
||||
settings.setPasswordUseSpecial(ui->checkBoxSpecialChars->isChecked());
|
||||
settings.setPasswordEveryGroup(ui->checkBoxEnsureEvery->isChecked());
|
||||
settings.setPasswordExcludeAlike(ui->checkBoxExcludeAlike->isChecked());
|
||||
settings.setPasswordLength(ui->spinBoxLength->value());
|
||||
*/
|
||||
|
||||
settings.setAlwaysAllowAccess(ui->alwaysAllowAccess->isChecked());
|
||||
settings.setAlwaysAllowUpdate(ui->alwaysAllowUpdate->isChecked());
|
||||
settings.setSearchInAllDatabases(ui->searchInAllDatabases->isChecked());
|
||||
settings.setSupportKphFields(ui->supportKphFields->isChecked());
|
||||
m_ui->passwordGenerator->saveSettings();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ Q_SIGNALS:
|
||||
void removeStoredPermissions();
|
||||
|
||||
private:
|
||||
QScopedPointer<Ui::OptionDialog> ui;
|
||||
QScopedPointer<Ui::OptionDialog> m_ui;
|
||||
};
|
||||
|
||||
#endif // OPTIONDIALOG_H
|
||||
|
@ -6,14 +6,26 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>605</width>
|
||||
<height>429</height>
|
||||
<width>577</width>
|
||||
<height>404</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="enableHttpServer">
|
||||
<property name="text">
|
||||
@ -37,13 +49,18 @@ This is required for accessing your databases from ChromeIPass or PassIFox</stri
|
||||
<property name="text">
|
||||
<string>Sh&ow a notification when credentials are requested</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="bestMatchOnly">
|
||||
<property name="toolTip">
|
||||
<string>Only returns the best matches for a specific URL instead of all entries for the whole domain.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Return only best matching entries for a URL instead
|
||||
of all entries for the whole domain</string>
|
||||
<string>&Return only best matching entries</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -52,13 +69,18 @@ of all entries for the whole domain</string>
|
||||
<property name="text">
|
||||
<string>Re&quest to unlock the database if it is locked</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="matchUrlScheme">
|
||||
<property name="toolTip">
|
||||
<string>Only entries with the same scheme (http://, https://, ftp://, ...) are returned.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Match URL schemes
|
||||
Only entries with the same scheme (http://, https://, ftp://, ...) are returned</string>
|
||||
<string>&Match URL schemes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -107,7 +129,7 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Password generator</string>
|
||||
<string>Password Generator</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
@ -132,20 +154,14 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<attribute name="title">
|
||||
<string>Advanced</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(255, 0, 0);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>The following options can be dangerous. Change them only if you know what you are doing.</string>
|
||||
<widget class="MessageWidget" name="warningWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -165,35 +181,21 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="searchInAllDatabases">
|
||||
<property name="toolTip">
|
||||
<string>Only the selected database has to be connected with a client.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Searc&h in all opened databases for matching entries</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Only the selected database has to be connected with a client!</string>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="supportKphFields">
|
||||
<property name="text">
|
||||
<string>&Return advanced string fields which start with "KPH: "</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<property name="toolTip">
|
||||
<string>Automatically creating or updating string fields is not supported.</string>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>30</number>
|
||||
<property name="text">
|
||||
<string>&Return advanced string fields which start with "KPH: "</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -214,25 +216,8 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="httpPort">
|
||||
<property name="inputMask">
|
||||
<string notr="true">d0000</string>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Default port: 19455</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>KeePassXC will listen to this port on 127.0.0.1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
@ -248,6 +233,23 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="httpPort">
|
||||
<property name="inputMask">
|
||||
<string notr="true">d0000</string>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Default port: 19455</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>KeePassXC will listen to this port on 127.0.0.1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@ -276,6 +278,12 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<header>http/HttpPasswordGeneratorWidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>MessageWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>gui/MessageWidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
Loading…
Reference in New Issue
Block a user