Various minor bug fixes / enhancements
* Fix issues when Config options were renamed * Fix compile issues when using clang 10 * Rearrange database menu icons and import database menu icons * Set minimum size of MainWindow to 800 to prevent search bar from hiding * Fix not saving password generator options when closing the standalone generator * Add headers to health check reports * Don't show hidden content dots when notes are hidden but empty. * Fix saving new database files in SMB shares on Windows, fixes #4809 * Gracefully handle duplicate attachments : Instead of bailing out with an error, prepend a random string to the name of duplicate attachment records. This prevents data loss from other programs that mishandled KDBX XML writing. Fixes #2493 * Properly handle blocked import of signed KeeShare database, fixes #4413
This commit is contained in:
@@ -44,6 +44,14 @@ PasswordGeneratorWidget::PasswordGeneratorWidget(QWidget* parent)
|
||||
m_ui->buttonCopy->setIcon(resources()->icon("clipboard-text"));
|
||||
m_ui->buttonClose->setShortcut(Qt::Key_Escape);
|
||||
|
||||
m_ui->clearInclude->setIcon(resources()->icon("edit-clear-locationbar-rtl"));
|
||||
m_ui->editAdditionalChars->addAction(m_ui->clearInclude, QLineEdit::TrailingPosition);
|
||||
m_ui->clearInclude->setVisible(false);
|
||||
|
||||
m_ui->clearExclude->setIcon(resources()->icon("edit-clear-locationbar-rtl"));
|
||||
m_ui->editExcludedChars->addAction(m_ui->clearExclude, QLineEdit::TrailingPosition);
|
||||
m_ui->clearExclude->setVisible(false);
|
||||
|
||||
connect(m_ui->editNewPassword, SIGNAL(textChanged(QString)), SLOT(updateButtonsEnabled(QString)));
|
||||
connect(m_ui->editNewPassword, SIGNAL(textChanged(QString)), SLOT(updatePasswordStrength(QString)));
|
||||
connect(m_ui->buttonAdvancedMode, SIGNAL(toggled(bool)), SLOT(setAdvancedMode(bool)));
|
||||
@@ -53,7 +61,9 @@ PasswordGeneratorWidget::PasswordGeneratorWidget(QWidget* parent)
|
||||
connect(m_ui->buttonApply, SIGNAL(clicked()), SLOT(applyPassword()));
|
||||
connect(m_ui->buttonCopy, SIGNAL(clicked()), SLOT(copyPassword()));
|
||||
connect(m_ui->buttonGenerate, SIGNAL(clicked()), SLOT(regeneratePassword()));
|
||||
connect(m_ui->buttonClose, SIGNAL(clicked()), SIGNAL(closePasswordGenerator()));
|
||||
connect(m_ui->buttonClose, SIGNAL(clicked()), SIGNAL(closed()));
|
||||
connect(m_ui->clearInclude, SIGNAL(triggered(bool)), m_ui->editAdditionalChars, SLOT(clear()));
|
||||
connect(m_ui->clearExclude, SIGNAL(triggered(bool)), m_ui->editExcludedChars, SLOT(clear()));
|
||||
|
||||
connect(m_ui->sliderLength, SIGNAL(valueChanged(int)), SLOT(passwordLengthChanged(int)));
|
||||
connect(m_ui->spinBoxLength, SIGNAL(valueChanged(int)), SLOT(passwordLengthChanged(int)));
|
||||
@@ -110,7 +120,7 @@ PasswordGeneratorWidget* PasswordGeneratorWidget::popupGenerator(QWidget* parent
|
||||
pwGenerator->setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
|
||||
pwGenerator->setStandaloneMode(false);
|
||||
|
||||
connect(pwGenerator, SIGNAL(closePasswordGenerator()), pwGenerator, SLOT(deleteLater()));
|
||||
connect(pwGenerator, SIGNAL(closed()), pwGenerator, SLOT(deleteLater()));
|
||||
|
||||
pwGenerator->show();
|
||||
pwGenerator->raise();
|
||||
@@ -180,6 +190,7 @@ void PasswordGeneratorWidget::saveSettings()
|
||||
config()->set(Config::PasswordGenerator_Dashes, m_ui->checkBoxDashes->isChecked());
|
||||
config()->set(Config::PasswordGenerator_Math, m_ui->checkBoxMath->isChecked());
|
||||
config()->set(Config::PasswordGenerator_Logograms, m_ui->checkBoxLogograms->isChecked());
|
||||
config()->set(Config::PasswordGenerator_AdditionalChars, m_ui->editAdditionalChars->text());
|
||||
config()->set(Config::PasswordGenerator_ExcludedChars, m_ui->editExcludedChars->text());
|
||||
config()->set(Config::PasswordGenerator_ExcludeAlike, m_ui->checkBoxExcludeAlike->isChecked());
|
||||
config()->set(Config::PasswordGenerator_EnsureEvery, m_ui->checkBoxEnsureEvery->isChecked());
|
||||
@@ -220,15 +231,6 @@ QString PasswordGeneratorWidget::getGeneratedPassword()
|
||||
return m_ui->editNewPassword->text();
|
||||
}
|
||||
|
||||
void PasswordGeneratorWidget::keyPressEvent(QKeyEvent* e)
|
||||
{
|
||||
if (e->key() == Qt::Key_Escape && m_standalone) {
|
||||
emit closePasswordGenerator();
|
||||
} else {
|
||||
e->ignore();
|
||||
}
|
||||
}
|
||||
|
||||
void PasswordGeneratorWidget::regeneratePassword()
|
||||
{
|
||||
if (m_ui->tabWidget->currentIndex() == Password) {
|
||||
@@ -273,7 +275,7 @@ void PasswordGeneratorWidget::applyPassword()
|
||||
{
|
||||
saveSettings();
|
||||
emit appliedPassword(m_ui->editNewPassword->text());
|
||||
emit closePasswordGenerator();
|
||||
emit closed();
|
||||
}
|
||||
|
||||
void PasswordGeneratorWidget::copyPassword()
|
||||
@@ -534,6 +536,9 @@ void PasswordGeneratorWidget::updateGenerator()
|
||||
} else {
|
||||
m_ui->buttonGenerate->setEnabled(false);
|
||||
}
|
||||
|
||||
m_ui->clearInclude->setVisible(!m_ui->editAdditionalChars->text().isEmpty());
|
||||
m_ui->clearExclude->setVisible(!m_ui->editExcludedChars->text().isEmpty());
|
||||
} else {
|
||||
m_dicewareGenerator->setWordCase(
|
||||
static_cast<PassphraseGenerator::PassphraseWordCase>(m_ui->wordCaseComboBox->currentData().toInt()));
|
||||
|
||||
Reference in New Issue
Block a user