summaryrefslogtreecommitdiff
path: root/gtk2_ardour/theme_manager.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-04-29 18:23:09 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-05-05 21:29:48 -0400
commit4a301595bdfb8ada086c501630181c07594f52a8 (patch)
tree654c7d70c7f144f42a04e6d4672e9dd1d1a3f6c9 /gtk2_ardour/theme_manager.cc
parent7005529886bcec9300866abc2fc84f336a718a30 (diff)
rename user's customized color file when resetting theme. Fixes #6286
Diffstat (limited to 'gtk2_ardour/theme_manager.cc')
-rw-r--r--gtk2_ardour/theme_manager.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc
index 1af708e524..1f1baa84f1 100644
--- a/gtk2_ardour/theme_manager.cc
+++ b/gtk2_ardour/theme_manager.cc
@@ -24,6 +24,8 @@
#include "fix_carbon.h"
+#include <glib/gstdio.h>
+
#include <gtkmm/stock.h>
#include <gtkmm/settings.h>
@@ -385,6 +387,19 @@ ThemeManager::set_ui_to_state()
void
ThemeManager::reset_canvas_colors()
{
+ string cfile;
+ string basename;
+
+ basename = "my-";
+ basename += ARDOUR_UI::config()->get_color_file();
+ basename += ".colors";
+
+ if (find_file (ardour_config_search_path(), basename, cfile)) {
+ string backup = cfile + string (X_(".old"));
+ g_rename (cfile.c_str(), backup.c_str());
+ /* don't really care if it fails */
+ }
+
ARDOUR_UI::config()->load_defaults();
ARDOUR_UI::config()->save_state ();
set_ui_to_state();