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