mirror of
https://github.com/aseprite/aseprite.git
synced 2024-12-27 21:19:18 +00:00
Add "recent" param to SaveFile/ExportSpriteSheet to avoid adding the file to the list of recent files
This commit is contained in:
parent
0cc1161d64
commit
3ea0437e1d
@ -1389,8 +1389,10 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
|
|||||||
statusbar->showTip(1000, Strings::export_sprite_sheet_generated());
|
statusbar->showTip(1000, Strings::export_sprite_sheet_generated());
|
||||||
|
|
||||||
// Save the exported sprite sheet as a recent file
|
// Save the exported sprite sheet as a recent file
|
||||||
if (newDocument->isAssociatedToFile())
|
if (newDocument->isAssociatedToFile() &&
|
||||||
|
should_add_file_to_recents(context, params)) {
|
||||||
App::instance()->recentFiles()->addRecentFile(newDocument->filename());
|
App::instance()->recentFiles()->addRecentFile(newDocument->filename());
|
||||||
|
}
|
||||||
|
|
||||||
// Copy background and grid preferences
|
// Copy background and grid preferences
|
||||||
DocumentPreferences& newDocPref(
|
DocumentPreferences& newDocPref(
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Aseprite
|
// Aseprite
|
||||||
// Copyright (C) 2022 Igara Studio S.A.
|
// Copyright (C) 2022-2024 Igara Studio S.A.
|
||||||
//
|
//
|
||||||
// This program is distributed under the terms of
|
// This program is distributed under the terms of
|
||||||
// the End-User License Agreement for Aseprite.
|
// the End-User License Agreement for Aseprite.
|
||||||
@ -19,6 +19,7 @@ namespace app {
|
|||||||
|
|
||||||
struct ExportSpriteSheetParams : public NewParams {
|
struct ExportSpriteSheetParams : public NewParams {
|
||||||
Param<bool> ui { this, true, "ui" };
|
Param<bool> ui { this, true, "ui" };
|
||||||
|
Param<bool> recent { this, true, "recent" };
|
||||||
Param<bool> askOverwrite { this, true, { "askOverwrite", "ask-overwrite" } };
|
Param<bool> askOverwrite { this, true, { "askOverwrite", "ask-overwrite" } };
|
||||||
Param<app::SpriteSheetType> type { this, app::SpriteSheetType::None, "type" };
|
Param<app::SpriteSheetType> type { this, app::SpriteSheetType::None, "type" };
|
||||||
Param<int> columns { this, 0, "columns" };
|
Param<int> columns { this, 0, "columns" };
|
||||||
|
@ -257,7 +257,7 @@ void SaveFileBaseCommand::saveDocumentInBackground(
|
|||||||
document->impossibleToBackToSavedState();
|
document->impossibleToBackToSavedState();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (context->isUIAvailable() && params().ui())
|
if (should_add_file_to_recents(context, params()))
|
||||||
App::instance()->recentFiles()->addRecentFile(filename);
|
App::instance()->recentFiles()->addRecentFile(filename);
|
||||||
|
|
||||||
if (markAsSaved == MarkAsSaved::On) {
|
if (markAsSaved == MarkAsSaved::On) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Aseprite
|
// Aseprite
|
||||||
// Copyright (C) 2021-2022 Igara Studio S.A.
|
// Copyright (C) 2021-2024 Igara Studio S.A.
|
||||||
// Copyright (C) 2001-2018 David Capello
|
// Copyright (C) 2001-2018 David Capello
|
||||||
//
|
//
|
||||||
// This program is distributed under the terms of
|
// This program is distributed under the terms of
|
||||||
@ -23,6 +23,7 @@ namespace app {
|
|||||||
|
|
||||||
struct SaveFileParams : public NewParams {
|
struct SaveFileParams : public NewParams {
|
||||||
Param<bool> ui { this, true, { "ui", "useUI" } };
|
Param<bool> ui { this, true, { "ui", "useUI" } };
|
||||||
|
Param<bool> recent { this, true, "recent" };
|
||||||
Param<std::string> filename { this, std::string(), "filename" };
|
Param<std::string> filename { this, std::string(), "filename" };
|
||||||
Param<std::string> filenameFormat { this, std::string(), { "filenameFormat", "filename-format" } };
|
Param<std::string> filenameFormat { this, std::string(), { "filenameFormat", "filename-format" } };
|
||||||
Param<std::string> tag { this, std::string(), { "tag", "frame-tag" } };
|
Param<std::string> tag { this, std::string(), { "tag", "frame-tag" } };
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Aseprite
|
// Aseprite
|
||||||
// Copyright (C) 2019-2022 Igara Studio S.A.
|
// Copyright (C) 2019-2024 Igara Studio S.A.
|
||||||
//
|
//
|
||||||
// This program is distributed under the terms of
|
// This program is distributed under the terms of
|
||||||
// the End-User License Agreement for Aseprite.
|
// the End-User License Agreement for Aseprite.
|
||||||
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include "app/commands/command.h"
|
#include "app/commands/command.h"
|
||||||
#include "app/commands/params.h"
|
#include "app/commands/params.h"
|
||||||
|
#include "app/context.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -152,6 +153,20 @@ namespace app {
|
|||||||
T m_params;
|
T m_params;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Common logic to know if we should add a file to recent files. We
|
||||||
|
// offer two params: "ui" and "recent", if "recent" is specified, we
|
||||||
|
// do what it says. In other case "ui" is like the default value of
|
||||||
|
// "recent", i.e. if there is ui=true, we add to recent, if there is
|
||||||
|
// ui=false, we don't add it.
|
||||||
|
template<typename T>
|
||||||
|
inline bool should_add_file_to_recents(const Context* ctx,
|
||||||
|
const T& params) {
|
||||||
|
ASSERT(ctx);
|
||||||
|
return (ctx->isUIAvailable()
|
||||||
|
&& ((params.recent.isSet() && params.recent()) ||
|
||||||
|
(!params.recent.isSet() && params.ui())));
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace app
|
} // namespace app
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user