mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-08-08 22:42:34 -04:00
Add option to limit search to current group
This commit is contained in:
parent
702a68307a
commit
719323e9c3
6 changed files with 43 additions and 1 deletions
|
@ -24,6 +24,7 @@
|
|||
#include <QShortcut>
|
||||
#include <QToolButton>
|
||||
|
||||
#include "core/Config.h"
|
||||
#include "core/FilePath.h"
|
||||
|
||||
SearchWidget::SearchWidget(QWidget* parent)
|
||||
|
@ -50,6 +51,11 @@ SearchWidget::SearchWidget(QWidget* parent)
|
|||
m_actionCaseSensitive->setObjectName("actionSearchCaseSensitive");
|
||||
m_actionCaseSensitive->setCheckable(true);
|
||||
|
||||
m_actionLimitGroup = searchMenu->addAction(tr("Limit search to selected group"), this, SLOT(updateLimitGroup()));
|
||||
m_actionLimitGroup->setObjectName("actionSearchLimitGroup");
|
||||
m_actionLimitGroup->setCheckable(true);
|
||||
m_actionLimitGroup->setChecked(config()->get("SearchLimitGroup", false).toBool());
|
||||
|
||||
m_ui->searchIcon->setIcon(filePath()->icon("actions", "system-search"));
|
||||
m_ui->searchIcon->setMenu(searchMenu);
|
||||
m_ui->searchEdit->addAction(m_ui->searchIcon, QLineEdit::LeadingPosition);
|
||||
|
@ -102,6 +108,7 @@ void SearchWidget::connectSignals(SignalMultiplexer& mx)
|
|||
{
|
||||
mx.connect(this, SIGNAL(search(QString)), SLOT(search(QString)));
|
||||
mx.connect(this, SIGNAL(caseSensitiveChanged(bool)), SLOT(setSearchCaseSensitive(bool)));
|
||||
mx.connect(this, SIGNAL(limitGroupChanged(bool)), SLOT(setSearchLimitGroup(bool)));
|
||||
mx.connect(this, SIGNAL(copyPressed()), SLOT(copyPassword()));
|
||||
mx.connect(this, SIGNAL(downPressed()), SLOT(setFocus()));
|
||||
mx.connect(m_ui->searchEdit, SIGNAL(returnPressed()), SLOT(switchToEntryEdit()));
|
||||
|
@ -115,6 +122,7 @@ void SearchWidget::databaseChanged(DatabaseWidget* dbWidget)
|
|||
|
||||
// Enforce search policy
|
||||
emit caseSensitiveChanged(m_actionCaseSensitive->isChecked());
|
||||
emit limitGroupChanged(m_actionLimitGroup->isChecked());
|
||||
} else {
|
||||
m_ui->searchEdit->clear();
|
||||
}
|
||||
|
@ -151,6 +159,19 @@ void SearchWidget::setCaseSensitive(bool state)
|
|||
updateCaseSensitive();
|
||||
}
|
||||
|
||||
void SearchWidget::updateLimitGroup()
|
||||
{
|
||||
config()->set("SearchLimitGroup", m_actionLimitGroup->isChecked());
|
||||
emit limitGroupChanged(m_actionLimitGroup->isChecked());
|
||||
}
|
||||
|
||||
void SearchWidget::setLimitGroup(bool state)
|
||||
{
|
||||
m_actionLimitGroup->setChecked(state);
|
||||
updateLimitGroup();
|
||||
}
|
||||
|
||||
|
||||
void SearchWidget::searchFocus()
|
||||
{
|
||||
m_ui->searchEdit->setFocus();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue