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