Fix add/delete of buttons in non english configurations

This commit is contained in:
lupoDharkael
2017-07-02 15:59:17 +02:00
parent c3f519de53
commit 8b48131deb
2 changed files with 7 additions and 1 deletions

View File

@@ -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;
}

View File

@@ -20,12 +20,14 @@
#include <QListWidgetItem>
#include <QListWidgetItem>
#include <QSettings>
#include <algorithm>
ButtonListView::ButtonListView(QWidget *parent) : QListWidget(parent) {
setMouseTracking(true);
QSettings settings;
m_listButtons = settings.value("buttons").value<QList<int> >();
initButtonList();
connect(this, &QListWidget::itemChanged, this,
@@ -62,11 +64,15 @@ void ButtonListView::initButtonList() {
void ButtonListView::updateActiveButtons(QListWidgetItem *item) {
int buttonIndex = static_cast<int>(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));
}