// Copyright (c) 2011-2018 The Limenka developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include #include CoinControlTreeWidget::CoinControlTreeWidget(QWidget *parent) : QTreeWidget(parent) { setSelectionMode(QAbstractItemView::ExtendedSelection); } void CoinControlTreeWidget::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Space) // press spacebar -> select checkbox { event->ignore(); for (QTreeWidgetItem* item : selectedItems()) { int COLUMN_CHECKBOX = 0; item->setCheckState(COLUMN_CHECKBOX, ((item->checkState(COLUMN_CHECKBOX) == Qt::Checked) ? Qt::Unchecked : Qt::Checked)); } } else if (event->key() == Qt::Key_Escape) // press esc -> close dialog { event->ignore(); CoinControlDialog *coinControlDialog = static_cast(this->parentWidget()); coinControlDialog->done(QDialog::Accepted); } else { this->QTreeWidget::keyPressEvent(event); } }