diff options
-rw-r--r-- | facetracknoir/ui.cpp | 13 | ||||
-rw-r--r-- | opentrack/plugin-support.hpp | 10 |
2 files changed, 13 insertions, 10 deletions
diff --git a/facetracknoir/ui.cpp b/facetracknoir/ui.cpp index ad3c4886..d90fc762 100644 --- a/facetracknoir/ui.cpp +++ b/facetracknoir/ui.cpp @@ -19,13 +19,6 @@ # include <windows.h> #endif -template<typename t> -static QList<t> sorted(QList<t> xs) -{ - std::sort(xs.begin(), xs.end(), [&](const t& a, const t& b) { return a->name.toLower() < b->name.toLower(); }); - return xs; -} - MainWindow::MainWindow() : pose_update_timer(this), kbd_quit(QKeySequence("Ctrl+Q"), this), @@ -47,13 +40,13 @@ MainWindow::MainWindow() : modules.filters().push_front(std::make_shared<dylib>("", dylib::Filter)); - for (auto x : sorted(modules.trackers())) + for (auto x : modules.trackers()) ui.iconcomboTrackerSource->addItem(x->icon, x->name); - for (auto x : sorted(modules.protocols())) + for (auto x : modules.protocols()) ui.iconcomboProtocol->addItem(x->icon, x->name); - for (auto x : sorted(modules.filters())) + for (auto x : modules.filters()) ui.iconcomboFilter->addItem(x->icon, x->name); refresh_config_list(); diff --git a/opentrack/plugin-support.hpp b/opentrack/plugin-support.hpp index 8efda800..102d11c4 100644 --- a/opentrack/plugin-support.hpp +++ b/opentrack/plugin-support.hpp @@ -20,6 +20,7 @@ #include <cstdio> #include <cinttypes> #include <iostream> +#include <algorithm> #include <QCoreApplication> #include <QFile> @@ -245,6 +246,12 @@ private: QList<mem<dylib>> filter_modules; QList<mem<dylib>> tracker_modules; QList<mem<dylib>> protocol_modules; + + template<typename t> + static void sort(QList<t>& xs) + { + std::sort(xs.begin(), xs.end(), [&](const t& a, const t& b) { return a->name.toLower() < b->name.toLower(); }); + } QList<mem<dylib>> filter(dylib::Type t) { @@ -252,6 +259,9 @@ private: for (auto x : module_list) if (x->type == t) ret.push_back(x); + + sort(ret); + return ret; } }; |