Improve search.

Find as you type.
Add shortcut.
Hide search widgets when not used.

Refs #24
This commit is contained in:
Florian Geyer 2012-05-19 11:53:32 +02:00
parent 4a1423da88
commit e4a5cd214f
10 changed files with 182 additions and 39 deletions

View file

@ -40,6 +40,7 @@ MainWindow::MainWindow()
setShortcut(m_ui->actionDatabaseSaveAs, QKeySequence::SaveAs);
setShortcut(m_ui->actionDatabaseClose, QKeySequence::Close, Qt::CTRL + Qt::Key_W);
setShortcut(m_ui->actionQuit, QKeySequence::Quit, Qt::CTRL + Qt::Key_Q);
setShortcut(m_ui->actionSearch, QKeySequence::Find, Qt::CTRL + Qt::Key_F);
connect(m_ui->tabWidget, SIGNAL(entrySelectionChanged(bool)),
SLOT(setMenuActionState()));
@ -84,6 +85,9 @@ MainWindow::MainWindow()
SLOT(editGroup()));
connect(m_ui->actionGroupDelete, SIGNAL(triggered()), m_ui->tabWidget,
SLOT(deleteGroup()));
connect(m_ui->actionSearch, SIGNAL(triggered()), m_ui->tabWidget,
SLOT(toggleSearch()));
}
MainWindow::~MainWindow()
@ -148,6 +152,13 @@ void MainWindow::setMenuActionState(DatabaseWidget::Mode mode)
m_ui->actionGroupDelete->setEnabled(false);
}
}
m_ui->actionSearch->setEnabled(true);
if (dbWidget->entryView()->inSearch()) {
m_ui->actionSearch->setChecked(true);
}
else {
m_ui->actionSearch->setChecked(false);
}
m_ui->actionChangeMasterKey->setEnabled(true);
m_ui->actionChangeDatabaseSettings->setEnabled(true);
m_ui->actionDatabaseSave->setEnabled(true);
@ -161,6 +172,8 @@ void MainWindow::setMenuActionState(DatabaseWidget::Mode mode)
m_ui->actionGroupEdit->setEnabled(false);
m_ui->actionEntryDelete->setEnabled(false);
m_ui->actionGroupDelete->setEnabled(false);
m_ui->actionSearch->setEnabled(false);
m_ui->actionSearch->setChecked(false);
m_ui->actionChangeMasterKey->setEnabled(false);
m_ui->actionChangeDatabaseSettings->setEnabled(false);
m_ui->actionDatabaseSave->setEnabled(false);
@ -179,6 +192,8 @@ void MainWindow::setMenuActionState(DatabaseWidget::Mode mode)
m_ui->actionGroupEdit->setEnabled(false);
m_ui->actionEntryDelete->setEnabled(false);
m_ui->actionGroupDelete->setEnabled(false);
m_ui->actionSearch->setEnabled(false);
m_ui->actionSearch->setChecked(false);
m_ui->actionChangeMasterKey->setEnabled(false);
m_ui->actionChangeDatabaseSettings->setEnabled(false);
m_ui->actionDatabaseSave->setEnabled(false);