| 29 | } |
| 30 | |
| 31 | void MemScanWidget::initialiseWidgets() |
| 32 | { |
| 33 | m_memScanner = new MemScanner(); |
| 34 | |
| 35 | m_resultsListModel = new ResultsListModel(this, m_memScanner); |
| 36 | |
| 37 | m_lblResultCount = new QLabel(""); |
| 38 | m_tblResulstList = new QTableView(); |
| 39 | m_tblResulstList->setModel(m_resultsListModel); |
| 40 | m_tblResulstList->setSelectionMode(QAbstractItemView::ExtendedSelection); |
| 41 | |
| 42 | m_tblResulstList->horizontalHeader()->setStretchLastSection(true); |
| 43 | |
| 44 | const int charWidth{m_tblResulstList->fontMetrics().averageCharWidth()}; |
| 45 | m_tblResulstList->horizontalHeader()->setMinimumSectionSize(charWidth); |
| 46 | m_tblResulstList->horizontalHeader()->resizeSection(ResultsListModel::RESULT_COL_SCANNED, |
| 47 | charWidth * 15); |
| 48 | |
| 49 | m_tblResulstList->horizontalHeader()->setSectionResizeMode(ResultsListModel::RESULT_COL_ADDRESS, |
| 50 | QHeaderView::ResizeToContents); |
| 51 | |
| 52 | m_tblResulstList->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); |
| 53 | m_tblResulstList->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); |
| 54 | m_tblResulstList->setSelectionBehavior(QAbstractItemView::SelectRows); |
| 55 | m_tblResulstList->setSelectionMode(QAbstractItemView::ExtendedSelection); |
| 56 | m_tblResulstList->setMinimumWidth(385); |
| 57 | connect(m_tblResulstList, &QAbstractItemView::doubleClicked, this, |
| 58 | &MemScanWidget::onResultListDoubleClicked); |
| 59 | m_tblResulstList->setContextMenuPolicy(Qt::CustomContextMenu); |
| 60 | connect(m_tblResulstList, &QWidget::customContextMenuRequested, this, |
| 61 | &MemScanWidget::onResultsListContextMenuRequested); |
| 62 | |
| 63 | m_btnAddAll = new QPushButton(tr("Add all")); |
| 64 | connect(m_btnAddAll, &QPushButton::clicked, this, &MemScanWidget::onAddAll); |
| 65 | m_btnAddAll->setEnabled(false); |
| 66 | |
| 67 | m_btnAddSelection = new QPushButton(tr("Add selection")); |
| 68 | connect(m_btnAddSelection, &QPushButton::clicked, this, &MemScanWidget::onAddSelection); |
| 69 | m_btnAddSelection->setEnabled(false); |
| 70 | |
| 71 | m_btnRemoveSelection = new QPushButton(tr("Remove selection")); |
| 72 | connect(m_btnRemoveSelection, &QPushButton::clicked, this, &MemScanWidget::onRemoveSelection); |
| 73 | m_btnRemoveSelection->setEnabled(false); |
| 74 | |
| 75 | m_btnFirstScan = new QPushButton(tr("First scan")); |
| 76 | m_btnNextScan = new QPushButton(tr("Next scan")); |
| 77 | m_btnNextScan->hide(); |
| 78 | m_btnUndoScan = new QPushButton(tr("Undo scan")); |
| 79 | m_btnUndoScan->hide(); |
| 80 | m_btnResetScan = new QPushButton(tr("Reset scan")); |
| 81 | m_btnResetScan->hide(); |
| 82 | |
| 83 | connect(m_btnFirstScan, &QPushButton::clicked, this, &MemScanWidget::onFirstScan); |
| 84 | connect(m_btnNextScan, &QPushButton::clicked, this, &MemScanWidget::onNextScan); |
| 85 | connect(m_btnResetScan, &QPushButton::clicked, this, &MemScanWidget::onResetScan); |
| 86 | connect(m_btnUndoScan, &QPushButton::clicked, this, &MemScanWidget::onUndoScan); |
| 87 | |
| 88 | QShortcut* scanShortcut = new QShortcut(QKeySequence(Qt::Key::Key_Enter), this); |
nothing calls this directly
no test coverage detected