Line data Source code
1 : // Copyright (c) 2011-2018 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 0 : QValueComboBox::QValueComboBox(QWidget *parent) : 8 0 : QComboBox(parent), role(Qt::UserRole) 9 0 : { 10 0 : connect(this, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &QValueComboBox::handleSelectionChanged); 11 0 : } 12 : 13 0 : QVariant QValueComboBox::value() const 14 : { 15 0 : return itemData(currentIndex(), role); 16 : } 17 : 18 0 : void QValueComboBox::setValue(const QVariant &value) 19 : { 20 0 : setCurrentIndex(findData(value, role)); 21 0 : } 22 : 23 0 : void QValueComboBox::setRole(int _role) 24 : { 25 0 : this->role = _role; 26 0 : } 27 : 28 0 : void QValueComboBox::handleSelectionChanged(int idx) 29 : { 30 0 : Q_EMIT valueChanged(); 31 0 : }