summaryrefslogtreecommitdiffhomepage
path: root/facetracknoir
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-10-06 05:04:19 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-10-06 05:10:06 +0200
commit0f7a4ba62369a42cf6b513ce0fa59d117551f0ed (patch)
treef6263d9e607b9b0d531109e601de041e42e30e0d /facetracknoir
parent1df21461e663304fc6046a86ba5d2c6ea01042b7 (diff)
ui: sort combobox items according to their name, not filename
Diffstat (limited to 'facetracknoir')
-rw-r--r--facetracknoir/ui.cpp13
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();