Browse Source

Sort tags in module browser dropdown button by language translation.

tags/v2.6.5
Andrew Belt 3 months ago
parent
commit
b71f1dbcea
1 changed files with 8 additions and 1 deletions
  1. +8
    -1
      src/app/Browser.cpp

+ 8
- 1
src/app/Browser.cpp View File

@@ -993,7 +993,14 @@ inline void TagButton::onAction(const ActionEvent& e) {
menu->addChild(createMenuLabel(widget::getKeyCommandName(0, RACK_MOD_CTRL) + string::translate("key.click") + string::translate("Browser.tagsSelectMultiple")));
menu->addChild(new ui::MenuSeparator);

for (int tagId = 0; tagId < (int) tag::tagAliases.size(); tagId++) {
// Sort tag IDs by translation string
std::vector<int> tagIds(tag::tagAliases.size());
std::iota(tagIds.begin(), tagIds.end(), 0);
std::sort(tagIds.begin(), tagIds.end(), [](int a, int b) {
return string::translate("tag." + tag::getTag(a)) < string::translate("tag." + tag::getTag(b));
});

for (int tagId : tagIds) {
TagItem* tagItem = new TagItem;
std::string tag = string::translate("tag." + tag::getTag(tagId));
tagItem->text = tag;


Loading…
Cancel
Save