summaryrefslogtreecommitdiff
path: root/gtk2_ardour/color_theme_manager.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-09-26 19:39:13 +0200
committerRobin Gareus <robin@gareus.org>2019-09-26 19:39:13 +0200
commit7850547e12de53e4b9d31b90c77f51c8e8e327d3 (patch)
tree47035227b1256e2b0be57d54bcac056ccc1123a4 /gtk2_ardour/color_theme_manager.cc
parent065c09e41887546e61e7bad3c0279e6bffd7e405 (diff)
Theme-manager: sort colors by name (not hue)
Diffstat (limited to 'gtk2_ardour/color_theme_manager.cc')
-rw-r--r--gtk2_ardour/color_theme_manager.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/gtk2_ardour/color_theme_manager.cc b/gtk2_ardour/color_theme_manager.cc
index 4bf079bbf7..4bad499994 100644
--- a/gtk2_ardour/color_theme_manager.cc
+++ b/gtk2_ardour/color_theme_manager.cc
@@ -281,16 +281,15 @@ struct NamedColor {
NamedColor (string s, Gtkmm2ext::HSV c) : name (s), color (c) {}
};
-struct SortByHue {
+struct SortNamedColor {
bool operator() (NamedColor const & a, NamedColor const & b) {
using namespace ArdourCanvas;
+
const HSV black (0, 0, 0);
if (a.color.is_gray() || b.color.is_gray()) {
return black.distance (a.color) < black.distance (b.color);
} else {
- return a.color.h < b.color.h;
- // const HSV red (rgba_to_color (1.0, 0.0, 0.0, 1.0));
- // return red.distance (a.color) < red.distance (b.color);
+ return a.name < b.name;
}
}
};
@@ -308,7 +307,7 @@ ColorThemeManager::build_palette_canvas (ArdourCanvas::Canvas& canvas, ArdourCan
for (UIConfiguration::Colors::const_iterator x = colors.begin(); x != colors.end(); ++x) {
nc.push_back (NamedColor (x->first, HSV (x->second)));
}
- SortByHue sorter;
+ SortNamedColor sorter;
sort (nc.begin(), nc.end(), sorter);
const uint32_t color_limit = nc.size();