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