Set Markers to Selected Range

This commit is contained in:
manongjohn 2022-05-09 07:28:52 -04:00
parent f5c5f66a4f
commit 60f4d01311
4 changed files with 26 additions and 0 deletions

View file

@ -2033,6 +2033,8 @@ void MainWindow::defineActions() {
createMenuXsheetAction(MI_SetAutoMarkers, QT_TR_NOOP("Set Auto Markers"), "");
createMenuXsheetAction(MI_PreviewThis,
QT_TR_NOOP("Set Markers to Current Frame"), "");
createMenuXsheetAction(MI_PreviewSelected,
QT_TR_NOOP("Set Markers to Selected Range"), "");
createMenuXsheetAction(MI_ToggleTaggedFrame,
QT_TR_NOOP("Toggle Navigation Tag"), "",
"toggle_nav_tag");

View file

@ -152,6 +152,7 @@
#define MI_ClearMarkers "MI_ClearMarkers"
#define MI_SetAutoMarkers "MI_SetAutoMarkers"
#define MI_PreviewThis "MI_PreviewThis"
#define MI_PreviewSelected "MI_PreviewSelected"
#define MI_PasteNew "MI_PasteNew"
#define MI_Autorenumber "MI_Autorenumber"

View file

@ -2729,6 +2729,27 @@ public:
//============================================================
class PreviewSelected final : public MenuItemHandler {
public:
PreviewSelected() : MenuItemHandler(MI_PreviewSelected) {}
void execute() override {
TApp *app = TApp::instance();
TSelection *selection = app->getCurrentSelection()->getSelection();
if (!selection) return;
TCellSelection *cellSelection = dynamic_cast<TCellSelection *>(selection);
if (!cellSelection) return;
int row0, col0, row1, col1;
cellSelection->getSelectedCells(row0, col0, row1, col1);
int r0, r1, step;
XsheetGUI::getPlayRange(r0, r1, step);
XsheetGUI::setPlayRange(row0, row1, step);
TApp::instance()->getCurrentXsheetViewer()->update();
}
} PreviewSelected;
//============================================================
class ToggleTaggedFrame final : public MenuItemHandler {
public:
ToggleTaggedFrame() : MenuItemHandler(MI_ToggleTaggedFrame) {}

View file

@ -1297,6 +1297,8 @@ void RowArea::contextMenuEvent(QContextMenuEvent *event) {
menu->addAction(CommandManager::instance()->getAction(MI_PreviewThis));
menu->addAction(CommandManager::instance()->getAction(MI_PreviewSelected));
menu->addSeparator();
if (Preferences::instance()->isOnionSkinEnabled()) {