diff --git a/src/presentation/artifacteditormodel.h b/src/presentation/artifacteditormodel.h --- a/src/presentation/artifacteditormodel.h +++ b/src/presentation/artifacteditormodel.h @@ -84,6 +84,7 @@ QString delegateText() const; static int autoSaveDelay(); + static void setAutoSaveDelay(int delay); bool editingInProgress() const; diff --git a/src/presentation/artifacteditormodel.cpp b/src/presentation/artifacteditormodel.cpp --- a/src/presentation/artifacteditormodel.cpp +++ b/src/presentation/artifacteditormodel.cpp @@ -105,6 +105,8 @@ using namespace Presentation; +static int s_autoSaveDelay = 500; + ArtifactEditorModel::ArtifactEditorModel(QObject *parent) : QObject(parent), m_done(false), @@ -115,7 +117,6 @@ m_editingInProgress(false) { m_saveTimer->setSingleShot(true); - m_saveTimer->setInterval(autoSaveDelay()); connect(m_saveTimer, &QTimer::timeout, this, &ArtifactEditorModel::save); } @@ -250,7 +251,12 @@ int ArtifactEditorModel::autoSaveDelay() { - return 500; + return s_autoSaveDelay; +} + +void ArtifactEditorModel::setAutoSaveDelay(int delay) +{ + s_autoSaveDelay = delay; } bool ArtifactEditorModel::editingInProgress() const @@ -452,7 +458,7 @@ void ArtifactEditorModel::setSaveNeeded(bool needed) { if (needed) - m_saveTimer->start(); + m_saveTimer->start(autoSaveDelay()); else m_saveTimer->stop(); diff --git a/tests/units/presentation/artifacteditormodeltest.cpp b/tests/units/presentation/artifacteditormodeltest.cpp --- a/tests/units/presentation/artifacteditormodeltest.cpp +++ b/tests/units/presentation/artifacteditormodeltest.cpp @@ -57,6 +57,7 @@ : QObject(parent) { qRegisterMetaType(); + Presentation::ArtifactEditorModel::setAutoSaveDelay(50); } private slots: