qvaluecombobox.cpp
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 }