summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-21 23:21:13 +0100
committerRobin Gareus <robin@gareus.org>2018-11-21 23:21:13 +0100
commit555dcd11fd3c25282e0c16f99efdddc42d824ed4 (patch)
treeeefa620a5fbf1c3df79180c439720aa860282e74 /gtk2_ardour
parent9326ced760315986fbce617bece607d75985e027 (diff)
Properly revert FormatSpec changes on "cancel"
Previously the ExportFormatDialog saved changes to disk on "save" but did nothing on "cancel". The format changed *remained* modified in memory, just not saved (until the ExportProfileManager is re-instantiated)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/export_file_notebook.cc1
-rw-r--r--gtk2_ardour/export_format_selector.cc3
-rw-r--r--gtk2_ardour/export_format_selector.h1
3 files changed, 5 insertions, 0 deletions
diff --git a/gtk2_ardour/export_file_notebook.cc b/gtk2_ardour/export_file_notebook.cc
index a7ad061093..a91a253b3c 100644
--- a/gtk2_ardour/export_file_notebook.cc
+++ b/gtk2_ardour/export_file_notebook.cc
@@ -252,6 +252,7 @@ ExportFileNotebook::FilePage::FilePage (Session * s, ManagerPtr profile_manager,
format_selector.FormatEdited.connect (sigc::mem_fun (*this, &ExportFileNotebook::FilePage::save_format_to_manager));
format_selector.FormatRemoved.connect (sigc::mem_fun (*profile_manager, &ExportProfileManager::remove_format_profile));
format_selector.NewFormat.connect (sigc::mem_fun (*profile_manager, &ExportProfileManager::get_new_format));
+ format_selector.FormatReverted.connect (sigc::mem_fun (*profile_manager, &ExportProfileManager::revert_format_profile));
format_selector.CriticalSelectionChanged.connect (
sigc::mem_fun (*this, &ExportFileNotebook::FilePage::critical_selection_changed));
diff --git a/gtk2_ardour/export_format_selector.cc b/gtk2_ardour/export_format_selector.cc
index dbc74908d1..cf973b86b3 100644
--- a/gtk2_ardour/export_format_selector.cc
+++ b/gtk2_ardour/export_format_selector.cc
@@ -159,6 +159,9 @@ ExportFormatSelector::open_edit_dialog (bool new_dialog)
update_format_description ();
FormatEdited (state->format);
CriticalSelectionChanged();
+ } else {
+ FormatReverted (state->format);
+ CriticalSelectionChanged();
}
return response;
}
diff --git a/gtk2_ardour/export_format_selector.h b/gtk2_ardour/export_format_selector.h
index 2b7d371d04..20b8250866 100644
--- a/gtk2_ardour/export_format_selector.h
+++ b/gtk2_ardour/export_format_selector.h
@@ -57,6 +57,7 @@ public:
sigc::signal<void, FormatPtr> FormatEdited;
sigc::signal<void, FormatPtr> FormatRemoved;
sigc::signal<FormatPtr, FormatPtr> NewFormat;
+ sigc::signal<void, FormatPtr> FormatReverted;
/* Compatibility with other elements */