From 8b48131deba0037c1d7ad3d36cb84932a587ea4b Mon Sep 17 00:00:00 2001 From: lupoDharkael Date: Sun, 2 Jul 2017 15:59:17 +0200 Subject: [PATCH] Fix add/delete of buttons in non english configurations --- src/capture/button.cpp | 2 +- src/config/buttonlistview.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/capture/button.cpp b/src/capture/button.cpp index 79ae6b63..d955fdb3 100644 --- a/src/capture/button.cpp +++ b/src/capture/button.cpp @@ -246,7 +246,7 @@ size_t Button::getButtonBaseSize() { Button::Type Button::getTypeByName(const QString s) { Button::Type res = Type::last; for (auto i: typeName.toStdMap()) - if (i.second == s) + if (tr(i.second) == s) res = i.first; return res; } diff --git a/src/config/buttonlistview.cpp b/src/config/buttonlistview.cpp index cba593ef..c9be8ca6 100644 --- a/src/config/buttonlistview.cpp +++ b/src/config/buttonlistview.cpp @@ -20,12 +20,14 @@ #include #include #include +#include ButtonListView::ButtonListView(QWidget *parent) : QListWidget(parent) { setMouseTracking(true); QSettings settings; m_listButtons = settings.value("buttons").value >(); + initButtonList(); connect(this, &QListWidget::itemChanged, this, @@ -62,11 +64,15 @@ void ButtonListView::initButtonList() { void ButtonListView::updateActiveButtons(QListWidgetItem *item) { int buttonIndex = static_cast(Button::getTypeByName(item->text())); + if (item->checkState() == Qt::Checked) { m_listButtons.append(buttonIndex); + std::sort(m_listButtons.begin(), m_listButtons.end()); + } else { m_listButtons.removeOne(buttonIndex); } + QSettings().setValue("buttons", QVariant::fromValue(m_listButtons)); }