Move database open to async task

* Wrap key transformation in AsyncTask when reading a database. Significantly reduces user interface lockup.
* Replace root group with new group instead of deleting the pointer (fulfills member validity promise).
This commit is contained in:
Jonathan White 2020-03-04 10:05:33 -05:00
parent 91c6e436b3
commit a8c02fdc3c
4 changed files with 15 additions and 19 deletions

View file

@ -967,14 +967,7 @@ void Group::removeEntry(Entry* entry)
void Group::connectDatabaseSignalsRecursive(Database* db)
{
if (m_db) {
disconnect(SIGNAL(groupDataChanged(Group*)), m_db);
disconnect(SIGNAL(groupAboutToRemove(Group*)), m_db);
disconnect(SIGNAL(groupRemoved()), m_db);
disconnect(SIGNAL(groupAboutToAdd(Group*, int)), m_db);
disconnect(SIGNAL(groupAdded()), m_db);
disconnect(SIGNAL(aboutToMove(Group*, Group*, int)), m_db);
disconnect(SIGNAL(groupMoved()), m_db);
disconnect(SIGNAL(groupModified()), m_db);
disconnect(m_db);
}
for (Entry* entry : asConst(m_entries)) {