Don't include program-name with <Option name="color-file" />
authorRobin Gareus <robin@gareus.org>
Sun, 27 Nov 2016 20:53:16 +0000 (21:53 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 27 Nov 2016 20:54:28 +0000 (21:54 +0100)
This allows for e.g. mixbus and mixbus32c to share the config, but
use different color-files at runtime.

gtk2_ardour/ui_config.cc
gtk2_ardour/utils.cc

index 2db640681d4b219e9317affde2e85e7df59e9228..024357b2667de250fc93361de7338ca3c99a6281 100644 (file)
@@ -260,8 +260,15 @@ UIConfiguration::color_file_name (bool use_my, bool with_version) const
                basename += "my-";
        }
 
-       //this is the overall theme file, e.g. "dark" plus "-downcase(PROGRAM_NAME)"
-       basename += color_file.get();  
+       std::string color_name = color_file.get();
+       size_t sep = color_name.find_first_of("-");
+       if (sep != string::npos) {
+               color_name = color_name.substr (0, sep);
+       }
+
+       basename += color_name;
+       basename += "-";
+       basename += downcase(PROGRAM_NAME);
 
        std::string rev (revision);
        std::size_t pos = rev.find_first_of("-");
index 26b048f2b0ad2515204b30b557ba4db71cc86925..16607348f3531058eb94d56739614017ecb4c5ed 100644 (file)
@@ -403,7 +403,12 @@ ARDOUR_UI_UTILS::get_color_themes (map<std::string,std::string>& themes)
                                continue;
                        }
 
-                       themes.insert (make_pair (prop->value(), Glib::filename_to_utf8 (basename_nosuffix(*e))));
+                       std::string color_name = basename_nosuffix(*e);
+                       size_t sep = color_name.find_first_of("-");
+                       if (sep != string::npos) {
+                               color_name = color_name.substr (0, sep);
+                       }
+                       themes.insert (make_pair (prop->value(), color_name));
                }
        }
 }