qvaluecombobox.cpp raw
1 // Copyright (c) 2011-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5 #include <qt/qvaluecombobox.h>
6
7 QValueComboBox::QValueComboBox(QWidget* parent)
8 : QComboBox(parent)
9 {
10 connect(this, qOverload<int>(&QComboBox::currentIndexChanged), this, &QValueComboBox::handleSelectionChanged);
11 }
12
13 QVariant QValueComboBox::value() const
14 {
15 return itemData(currentIndex(), role);
16 }
17
18 void QValueComboBox::setValue(const QVariant &value)
19 {
20 setCurrentIndex(findData(value, role));
21 }
22
23 void QValueComboBox::setRole(int _role)
24 {
25 this->role = _role;
26 }
27
28 void QValueComboBox::handleSelectionChanged(int idx)
29 {
30 Q_EMIT valueChanged();
31 }
32