diff --git a/src/ExportManager.cpp b/src/ExportManager.cpp --- a/src/ExportManager.cpp +++ b/src/ExportManager.cpp @@ -170,11 +170,8 @@ QString ExportManager::makeAutosaveFilename() { - KSharedConfigPtr config = KSharedConfig::openConfig(QStringLiteral("spectaclerc")); - KConfigGroup generalConfig = KConfigGroup(config, "General"); - const QDateTime timestamp = QDateTime::currentDateTime(); - QString baseName = generalConfig.readEntry("save-filename-format", "Screenshot_%Y%M%D_%H%m%S"); + QString baseName = SpectacleConfig::instance()->autoSaveFilenameFormat(); QString title; @@ -208,7 +205,7 @@ } if (result.isEmpty()) { - result = QStringLiteral("Screenshot"); + result = SpectacleConfig::instance()->defaultFilename(); } return truncatedFilename(result); } diff --git a/src/Gui/SettingsDialog/SaveOptionsPage.cpp b/src/Gui/SettingsDialog/SaveOptionsPage.cpp --- a/src/Gui/SettingsDialog/SaveOptionsPage.cpp +++ b/src/Gui/SettingsDialog/SaveOptionsPage.cpp @@ -90,7 +90,7 @@ // now the save filename format layout - const QString helpText = i18n( + const QString helpText = i18nc("%1 is the default filename of a screenshot", "

You can use the following placeholders in the filename, which will be replaced " "with actual text when the file is saved:

" @@ -108,8 +108,9 @@ "

To save to a sub-folder, use slashes to describe the desired path, e.g.:

" "
" - "%Y/%M/Screenshot_%Y%M%D_%H%m%S" - "
" + "%Y/%M/%1" + "", + SpectacleConfig::instance()->defaultFilename() + SpectacleConfig::instance()->defaultTimestampTemplate() ); QLabel *fmtHelpText = new QLabel(helpText, this); diff --git a/src/SpectacleConfig.h b/src/SpectacleConfig.h --- a/src/SpectacleConfig.h +++ b/src/SpectacleConfig.h @@ -42,6 +42,9 @@ static SpectacleConfig* instance(); + QString defaultFilename() const; + QString defaultTimestampTemplate() const; + private: explicit SpectacleConfig(QObject *parent = nullptr); diff --git a/src/SpectacleConfig.cpp b/src/SpectacleConfig.cpp --- a/src/SpectacleConfig.cpp +++ b/src/SpectacleConfig.cpp @@ -36,6 +36,17 @@ return &instance; } +QString SpectacleConfig::defaultFilename() const +{ + return QStringLiteral("Screenshot"); +} + +QString SpectacleConfig::defaultTimestampTemplate() const +{ + // includes separator at the front + return QStringLiteral("_%Y%M%D_%H%m%S"); +} + // lastSaveAsLocation QUrl SpectacleConfig::lastSaveAsLocation() const @@ -217,7 +228,7 @@ QString SpectacleConfig::autoSaveFilenameFormat() const { return mGeneralConfig.readEntry(QStringLiteral("save-filename-format"), - QStringLiteral("Screenshot_%Y%M%D_%H%m%S")); + QString(defaultFilename() + defaultTimestampTemplate())); } void SpectacleConfig::setAutoSaveFilenameFormat(const QString &format)