Commit 03d2b253 authored by dmMaze's avatar dmMaze
Browse files

shortcut: pageDown/pageUp to switch textblocks while in editing mode

parent a533802f
Loading
Loading
Loading
Loading
+18 −12
Original line number Diff line number Diff line
@@ -534,6 +534,9 @@ class MainWindow(mainwindow_cls):

    def shortcutNext(self):
        if self.centralStackWidget.currentIndex() == 0:
            if self.st_manager.is_editting():
                self.st_manager.on_switch_textitem(1)
            else:
                index = self.pageList.currentIndex()
                page_count = self.pageList.count()
                if index.isValid():
@@ -543,6 +546,9 @@ class MainWindow(mainwindow_cls):

    def shortcutBefore(self):
        if self.centralStackWidget.currentIndex() == 0:
            if self.st_manager.is_editting():
                self.st_manager.on_switch_textitem(-1)
            else:
                index = self.pageList.currentIndex()
                page_count = self.pageList.count()
                if index.isValid():
+32 −18
Original line number Diff line number Diff line
@@ -360,9 +360,13 @@ class SceneTextManager(QObject):

    def on_switch_textitem(self, switch_delta: int, key_event: QKeyEvent = None):
        n_blk = len(self.textblk_item_list)
        if n_blk < 1 or self.is_editting():
        if n_blk < 1:
            return
        
        editing_blk = self.editingTextItem()
        if editing_blk is not None:
            tgt_idx = editing_blk.idx + switch_delta
        else:
            sel_blks = self.canvas.selected_text_items(sort=False)
            if len(sel_blks) == 0:
                return
@@ -372,8 +376,9 @@ class SceneTextManager(QObject):
            tgt_idx += n_blk
        elif tgt_idx >= n_blk:
            tgt_idx -= n_blk

        blk = self.textblk_item_list[tgt_idx]

        if editing_blk is None:
            self.canvas.block_selection_signal = True
            self.canvas.clearSelection()
            blk.setSelected(True)
@@ -383,6 +388,15 @@ class SceneTextManager(QObject):
            edit = self.pairwidget_list[tgt_idx].e_trans
            self.changeHoveringWidget(edit)
            self.textEditList.set_selected_list([blk.idx])
        else:
            editing_blk.endEdit()
            editing_blk.setSelected(False)
            self.txtblkShapeControl.setBlkItem(blk)
            blk.setSelected(True)
            blk.startEdit()
            self.canvas.gv.ensureVisible(blk)

        if key_event is not None:
            key_event.accept()

    def setTextEditMode(self, edit: bool = False):