diff --git a/src/autotype/AutoType.cpp b/src/autotype/AutoType.cpp index 310493cf..8bc31829 100644 --- a/src/autotype/AutoType.cpp +++ b/src/autotype/AutoType.cpp @@ -337,10 +337,14 @@ void AutoType::performGlobalAutoType(const QList>& dbLi } QList matchList; + bool hideExpired = config()->get(Config::AutoTypeHideExpiredEntry).toBool(); for (const auto& db : dbList) { const QList dbEntries = db->rootGroup()->entriesRecursive(); for (Entry* entry : dbEntries) { + if (hideExpired && entry->isExpired()) { + continue; + } const QSet sequences = autoTypeSequences(entry, m_windowTitleForGlobal).toSet(); for (const QString& sequence : sequences) { if (!sequence.isEmpty()) { diff --git a/src/core/Config.cpp b/src/core/Config.cpp index afb71f53..e29b42d4 100644 --- a/src/core/Config.cpp +++ b/src/core/Config.cpp @@ -72,6 +72,7 @@ static const QHash configStrings = { {Config::AutoTypeEntryURLMatch,{QS("AutoTypeEntryURLMatch"), Roaming, true}}, {Config::AutoTypeDelay,{QS("AutoTypeDelay"), Roaming, 25}}, {Config::AutoTypeStartDelay,{QS("AutoTypeStartDelay"), Roaming, 500}}, + {Config::AutoTypeHideExpiredEntry,{QS("AutoTypeHideExpiredEntry"), Roaming, false}}, {Config::GlobalAutoTypeKey,{QS("GlobalAutoTypeKey"), Roaming, 0}}, {Config::GlobalAutoTypeModifiers,{QS("GlobalAutoTypeModifiers"), Roaming, 0}}, {Config::FaviconDownloadTimeout,{QS("FaviconDownloadTimeout"), Roaming, 10}}, diff --git a/src/core/Config.h b/src/core/Config.h index 64e8c945..28a75082 100644 --- a/src/core/Config.h +++ b/src/core/Config.h @@ -56,6 +56,7 @@ public: AutoTypeEntryURLMatch, AutoTypeDelay, AutoTypeStartDelay, + AutoTypeHideExpiredEntry, GlobalAutoTypeKey, GlobalAutoTypeModifiers, FaviconDownloadTimeout, diff --git a/src/gui/ApplicationSettingsWidget.cpp b/src/gui/ApplicationSettingsWidget.cpp index cf09df39..2717b48b 100644 --- a/src/gui/ApplicationSettingsWidget.cpp +++ b/src/gui/ApplicationSettingsWidget.cpp @@ -198,6 +198,7 @@ void ApplicationSettingsWidget::loadSettings() config()->get(Config::UseGroupIconOnEntryCreation).toBool()); m_generalUi->autoTypeEntryTitleMatchCheckBox->setChecked(config()->get(Config::AutoTypeEntryTitleMatch).toBool()); m_generalUi->autoTypeEntryURLMatchCheckBox->setChecked(config()->get(Config::AutoTypeEntryURLMatch).toBool()); + m_generalUi->autoTypeHideExpiredEntryCheckBox->setChecked(config()->get(Config::AutoTypeHideExpiredEntry).toBool()); m_generalUi->faviconTimeoutSpinBox->setValue(config()->get(Config::FaviconDownloadTimeout).toInt()); m_generalUi->languageComboBox->clear(); @@ -324,6 +325,7 @@ void ApplicationSettingsWidget::saveSettings() config()->set(Config::UseGroupIconOnEntryCreation, m_generalUi->useGroupIconOnEntryCreationCheckBox->isChecked()); config()->set(Config::AutoTypeEntryTitleMatch, m_generalUi->autoTypeEntryTitleMatchCheckBox->isChecked()); config()->set(Config::AutoTypeEntryURLMatch, m_generalUi->autoTypeEntryURLMatchCheckBox->isChecked()); + config()->set(Config::AutoTypeHideExpiredEntry, m_generalUi->autoTypeHideExpiredEntryCheckBox->isChecked()); config()->set(Config::FaviconDownloadTimeout, m_generalUi->faviconTimeoutSpinBox->value()); auto language = m_generalUi->languageComboBox->currentData().toString(); diff --git a/src/gui/ApplicationSettingsWidgetGeneral.ui b/src/gui/ApplicationSettingsWidgetGeneral.ui index 197d25b2..dc55d30c 100644 --- a/src/gui/ApplicationSettingsWidgetGeneral.ui +++ b/src/gui/ApplicationSettingsWidgetGeneral.ui @@ -850,6 +850,13 @@ + + + + Hide expired entries from Auto-Type + + +