DocPage Organizer: clone/remove/restore actions

This commit is contained in:
Jakub Melka
2021-07-13 18:16:59 +02:00
parent fd67f8f898
commit 7b768d3b09
4 changed files with 126 additions and 6 deletions

View File

@ -97,6 +97,7 @@ MainWindow::MainWindow(QWidget* parent) :
for (QToolBar* toolbar : toolbars)
{
toolbar->setIconSize(iconSize);
ui->menuWindow->addAction(toolbar->toggleViewAction());
}
connect(&m_mapper, QOverload<int>::of(&QSignalMapper::mapped), this, &MainWindow::onMappedActionTriggered);
@ -329,13 +330,28 @@ void MainWindow::performOperation(Operation operation)
break;
}
case Operation::CloneSelection:
case Operation::RemoveSelection:
case Operation::ReplaceSelection:
case Operation::RestoreRemovedItems:
case Operation::RotateLeft:
case Operation::RotateRight:
Q_ASSERT(false);
{
m_model->cloneSelection(ui->documentItemsView->selectionModel()->selection().indexes());
break;
}
case Operation::RemoveSelection:
{
m_model->removeSelection(ui->documentItemsView->selectionModel()->selection().indexes());
break;
}
case Operation::RestoreRemovedItems:
{
QModelIndexList restoredItemIndices = m_model->restoreRemovedItems();
QItemSelection itemSelection;
for (const QModelIndex& index : restoredItemIndices)
{
itemSelection.select(index, index);
}
ui->documentItemsView->selectionModel()->select(itemSelection, QItemSelectionModel::ClearAndSelect);
break;
}
case Operation::Cut:
case Operation::Copy:
@ -434,6 +450,12 @@ void MainWindow::performOperation(Operation operation)
break;
}
case Operation::RotateLeft:
case Operation::RotateRight:
case Operation::ReplaceSelection:
Q_ASSERT(false);
break;
case Operation::Unite:
case Operation::Separate:
case Operation::SeparateGrouped: