Add editFinished signal which can be used to auto save the database.

This commit is contained in:
Florian Geyer 2012-06-14 21:18:04 +02:00
parent 27794021d9
commit 056447fad9
6 changed files with 29 additions and 5 deletions

View file

@ -511,6 +511,7 @@ void DatabaseTabWidget::insertDatabase(Database* db, const DatabaseManagerStruct
connect(db, SIGNAL(modified()), SLOT(modified()));
connect(dbStruct.dbWidget, SIGNAL(currentModeChanged(DatabaseWidget::Mode)),
SIGNAL(currentWidgetModeChanged(DatabaseWidget::Mode)));
connect(dbStruct.dbWidget, SIGNAL(editFinished()), SLOT(autoSave()));
}
DatabaseWidget* DatabaseTabWidget::currentDatabaseWidget()
@ -531,17 +532,25 @@ void DatabaseTabWidget::modified()
Database* db = static_cast<Database*>(sender());
DatabaseManagerStruct& dbStruct = m_dbList[db];
if (config()->get("AutoSaveAfterEveryChange").toBool() && dbStruct.file) {
saveDatabase(db);
return;
}
if (!dbStruct.modified) {
dbStruct.modified = true;
updateTabName(db);
}
}
void DatabaseTabWidget::autoSave()
{
Q_ASSERT(qobject_cast<DatabaseWidget*>(sender()));
DatabaseWidget* dbWidget = static_cast<DatabaseWidget*>(sender());
Database* db = databaseFromDatabaseWidget(dbWidget);
DatabaseManagerStruct& dbStruct = m_dbList[db];
if (dbStruct.modified && config()->get("AutoSaveAfterEveryChange").toBool() && dbStruct.file) {
saveDatabase(db);
}
}
void DatabaseTabWidget::updateLastDatabases(const QString& filename)
{
if (!config()->get("RememberLastDatabases").toBool()) {