coincontroltreewidget.cpp raw

   1  // Copyright (c) 2011-2018 The Limenka 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/coincontroltreewidget.h>
   6  #include <qt/coincontroldialog.h>
   7  
   8  CoinControlTreeWidget::CoinControlTreeWidget(QWidget *parent) :
   9      QTreeWidget(parent)
  10  {
  11  
  12      setSelectionMode(QAbstractItemView::ExtendedSelection);
  13  }
  14  
  15  void CoinControlTreeWidget::keyPressEvent(QKeyEvent *event)
  16  {
  17      if (event->key() == Qt::Key_Space) // press spacebar -> select checkbox
  18      {
  19          event->ignore();
  20          for (QTreeWidgetItem* item : selectedItems()) {
  21              int COLUMN_CHECKBOX = 0;
  22              item->setCheckState(COLUMN_CHECKBOX, ((item->checkState(COLUMN_CHECKBOX) == Qt::Checked) ? Qt::Unchecked : Qt::Checked));
  23          }
  24      }
  25      else if (event->key() == Qt::Key_Escape) // press esc -> close dialog
  26      {
  27          event->ignore();
  28          CoinControlDialog *coinControlDialog = static_cast<CoinControlDialog*>(this->parentWidget());
  29          coinControlDialog->done(QDialog::Accepted);
  30      }
  31      else
  32      {
  33          this->QTreeWidget::keyPressEvent(event);
  34      }
  35  }
  36