Detect background changes to database file.

This gives the option to reload the database.

TODO:
 - Settings for reloadBehavior (ask, reloadUnchanged, ignore)
 - Improve notification, by using a header instead of dialog: nicer, less
intrusive, gives more options to user, and works better when multiple databases
are open.
 - Keep tab order on reload.
This commit is contained in:
Francois Ferrand 2013-04-24 22:38:34 +02:00
parent 850c7c7ecf
commit d5c8787451
10 changed files with 200 additions and 13 deletions

View file

@ -533,6 +533,13 @@ void DatabaseWidget::switchToOpenDatabase(const QString& fileName, const QString
m_databaseOpenWidget->enterKey(password, keyFile);
}
void DatabaseWidget::switchToOpenDatabase(const QString &fileName, const CompositeKey& masterKey)
{
updateFilename(fileName);
switchToOpenDatabase(fileName);
m_databaseOpenWidget->enterKey(masterKey);
}
void DatabaseWidget::switchToImportKeepass1(const QString& fileName)
{
updateFilename(fileName);
@ -556,10 +563,10 @@ void DatabaseWidget::closeSearch()
m_groupView->setCurrentGroup(m_lastGroup);
}
void DatabaseWidget::showSearch()
void DatabaseWidget::showSearch(const QString & searchString)
{
m_searchUi->searchEdit->blockSignals(true);
m_searchUi->searchEdit->clear();
m_searchUi->searchEdit->setText(searchString);
m_searchUi->searchEdit->blockSignals(false);
m_searchUi->searchCurrentRadioButton->blockSignals(true);
@ -665,6 +672,11 @@ bool DatabaseWidget::isInSearchMode()
return m_entryView->inEntryListMode();
}
QString DatabaseWidget::searchText()
{
return m_entryView->inEntryListMode() ? m_searchUi->searchEdit->text() : QString();
}
void DatabaseWidget::clearLastGroup(Group* group)
{
if (group) {