| 2079 | } |
| 2080 | |
| 2081 | void SpreadsheetView::unmaskSelection() { |
| 2082 | int first = firstSelectedRow(); |
| 2083 | if (first < 0) |
| 2084 | return; |
| 2085 | int last = lastSelectedRow(); |
| 2086 | |
| 2087 | WAIT_CURSOR; |
| 2088 | m_spreadsheet->beginMacro(i18n("%1: unmask selected cells", m_spreadsheet->name())); |
| 2089 | |
| 2090 | // suppress the data changed signal in all selected columns, will be emitted once per column at the end |
| 2091 | const auto& columns = selectedColumns(false); |
| 2092 | for (auto* column : columns) |
| 2093 | column->setSuppressDataChangedSignal(true); |
| 2094 | |
| 2095 | // unmask the selected cells |
| 2096 | for (auto* column : columns) { |
| 2097 | int col = m_spreadsheet->indexOfChild<Column>(column); |
| 2098 | for (int row = first; row <= last; row++) |
| 2099 | if (isCellSelected(row, col)) |
| 2100 | column->setMasked(row, false); |
| 2101 | |
| 2102 | column->setSuppressDataChangedSignal(false); |
| 2103 | column->setChanged(); |
| 2104 | } |
| 2105 | |
| 2106 | m_spreadsheet->endMacro(); |
| 2107 | RESET_CURSOR; |
| 2108 | } |
| 2109 | |
| 2110 | void SpreadsheetView::reverseSelection() { |
| 2111 | auto* selectionModel = m_tableView->selectionModel(); |
nothing calls this directly
no test coverage detected