Add natural sort of entry list

Introduce a third unsorted status that shows entries in the order they occur in the KDBX file.

* Add keyboard shortcut Ctrl+Alt+Up/Down to move entries up and down in sort order
* Add entry context menu icons to achieve movement up/down
* Only show menu icons when in natural sort order
* Add Material Design icons for moving up/down

* Add feature to track non-data changes and force a save on exit to ensure they are not lost when locking a database. This allows users to make entry movements and group expand/collapse operations and not lose that state.

Remove saveas
This commit is contained in:
Holger Böhnke 2020-05-21 21:43:00 -04:00 committed by Jonathan White
parent 43c82ccb09
commit eb198271ac
24 changed files with 500 additions and 11 deletions

View file

@ -836,9 +836,9 @@ void Database::setEmitModified(bool value)
m_emitModified = value;
}
bool Database::isModified() const
bool Database::isModified(bool includeNonDataChanges) const
{
return m_modified;
return m_modified || (includeNonDataChanges && m_hasNonDataChange);
}
void Database::markAsModified()
@ -855,11 +855,17 @@ void Database::markAsClean()
bool emitSignal = m_modified;
m_modified = false;
m_modifiedTimer.stop();
m_hasNonDataChange = false;
if (emitSignal) {
emit databaseSaved();
}
}
void Database::markNonDataChange()
{
m_hasNonDataChange = true;
}
/**
* @param uuid UUID of the database
* @return pointer to the database or nullptr if no such database exists