diff --git a/data/pref.xml b/data/pref.xml
index 77ce1c691..35ac47108 100644
--- a/data/pref.xml
+++ b/data/pref.xml
@@ -257,6 +257,9 @@
+
diff --git a/data/strings/en.ini b/data/strings/en.ini
index 841ade449..4e665dfe8 100644
--- a/data/strings/en.ini
+++ b/data/strings/en.ini
@@ -951,6 +951,7 @@ END
undo_allow_nonlinear_history = Allow non-linear history
file_format_doesnt_support_alert = Show warning when saving a file with unsupported features
export_animation_in_sequence_alert = Show warning when saving an animation as a sequence of static images
+overwrite_files_on_export_sprite_sheet_alert = Show warning when overwriting files on Export Sprite Sheet
gif_options_alert = Show GIF options when saving .gif files
jpeg_options_alert = Show JPEG options when saving .jpeg files
advanced_mode_alert = Show alert when we enter to Advanced Mode
diff --git a/data/widgets/options.xml b/data/widgets/options.xml
index 78fcc8330..2d9fdc6f7 100644
--- a/data/widgets/options.xml
+++ b/data/widgets/options.xml
@@ -276,6 +276,7 @@
+
diff --git a/src/app/commands/cmd_export_sprite_sheet.cpp b/src/app/commands/cmd_export_sprite_sheet.cpp
index ada0770c9..935bf67b1 100644
--- a/src/app/commands/cmd_export_sprite_sheet.cpp
+++ b/src/app/commands/cmd_export_sprite_sheet.cpp
@@ -22,6 +22,7 @@
#include "app/restore_visible_layers.h"
#include "app/ui/editor/editor.h"
#include "app/ui/layer_frame_comboboxes.h"
+#include "app/ui/optional_alert.h"
#include "app/ui/status_bar.h"
#include "app/ui/timeline/timeline.h"
#include "base/bind.h"
@@ -147,9 +148,12 @@ namespace {
if (base::is_file(dataname))
text << "<<" << base::get_file_name(dataname).c_str();
- if (ui::Alert::show(
- fmt::format(Strings::alerts_overwrite_files_on_export_sprite_sheet(),
- text.str())) != 1)
+ int ret = OptionalAlert::show(
+ Preferences::instance().spriteSheet.showOverwriteFilesAlert,
+ 1, // Yes is the default option when the alert dialog is disabled
+ fmt::format(Strings::alerts_overwrite_files_on_export_sprite_sheet(),
+ text.str()));
+ if (ret != 1)
return false;
}
return true;
diff --git a/src/app/commands/cmd_options.cpp b/src/app/commands/cmd_options.cpp
index 755ac3305..351880b64 100644
--- a/src/app/commands/cmd_options.cpp
+++ b/src/app/commands/cmd_options.cpp
@@ -155,6 +155,7 @@ public:
// Alerts
fileFormatDoesntSupportAlert()->setSelected(m_pref.saveFile.showFileFormatDoesntSupportAlert());
exportAnimationInSequenceAlert()->setSelected(m_pref.saveFile.showExportAnimationInSequenceAlert());
+ overwriteFilesOnExportSpriteSheetAlert()->setSelected(m_pref.spriteSheet.showOverwriteFilesAlert());
gifOptionsAlert()->setSelected(m_pref.gif.showAlert());
jpegOptionsAlert()->setSelected(m_pref.jpeg.showAlert());
advancedModeAlert()->setSelected(m_pref.advancedMode.showAlert());
@@ -410,6 +411,7 @@ public:
m_pref.saveFile.showFileFormatDoesntSupportAlert(fileFormatDoesntSupportAlert()->isSelected());
m_pref.saveFile.showExportAnimationInSequenceAlert(exportAnimationInSequenceAlert()->isSelected());
+ m_pref.spriteSheet.showOverwriteFilesAlert(overwriteFilesOnExportSpriteSheetAlert()->isSelected());
m_pref.gif.showAlert(gifOptionsAlert()->isSelected());
m_pref.jpeg.showAlert(jpegOptionsAlert()->isSelected());
m_pref.advancedMode.showAlert(advancedModeAlert()->isSelected());
@@ -593,6 +595,7 @@ private:
void onResetAlerts() {
fileFormatDoesntSupportAlert()->setSelected(m_pref.saveFile.showFileFormatDoesntSupportAlert.defaultValue());
exportAnimationInSequenceAlert()->setSelected(m_pref.saveFile.showExportAnimationInSequenceAlert.defaultValue());
+ overwriteFilesOnExportSpriteSheetAlert()->setSelected(m_pref.spriteSheet.showOverwriteFilesAlert.defaultValue());
gifOptionsAlert()->setSelected(m_pref.gif.showAlert.defaultValue());
jpegOptionsAlert()->setSelected(m_pref.jpeg.showAlert.defaultValue());
advancedModeAlert()->setSelected(m_pref.advancedMode.showAlert.defaultValue());