diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-06 05:04:19 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-06 05:10:06 +0200 |
commit | 0f7a4ba62369a42cf6b513ce0fa59d117551f0ed (patch) | |
tree | f6263d9e607b9b0d531109e601de041e42e30e0d /facetracknoir | |
parent | 1df21461e663304fc6046a86ba5d2c6ea01042b7 (diff) |
ui: sort combobox items according to their name, not filename
Diffstat (limited to 'facetracknoir')
-rw-r--r-- | facetracknoir/ui.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/facetracknoir/ui.cpp b/facetracknoir/ui.cpp index 984901f6..0672d24a 100644 --- a/facetracknoir/ui.cpp +++ b/facetracknoir/ui.cpp @@ -19,6 +19,13 @@ # 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), @@ -40,13 +47,13 @@ MainWindow::MainWindow() : modules.filters().push_front(std::make_shared<dylib>("", dylib::Filter)); - for (auto x : modules.trackers()) + for (auto x : sorted(modules.trackers())) ui.iconcomboTrackerSource->addItem(x->icon, x->name); - for (auto x : modules.protocols()) + for (auto x : sorted(modules.protocols())) ui.iconcomboProtocol->addItem(x->icon, x->name); - for (auto x : modules.filters()) + for (auto x : sorted(modules.filters())) ui.iconcomboFilter->addItem(x->icon, x->name); refresh_config_list(); |