From 58f16419433d581205e622c5a41ea6e33e8c555e Mon Sep 17 00:00:00 2001 From: Zsolt Kovari Date: Tue, 4 Jun 2024 13:44:00 +0200 Subject: [PATCH] Set commandOperations api for commands menu --- qttextedit/api.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/qttextedit/api.py b/qttextedit/api.py index f379ecc..16d4376 100644 --- a/qttextedit/api.py +++ b/qttextedit/api.py @@ -1,5 +1,5 @@ from enum import Enum -from typing import Dict, Optional, Any, Type +from typing import Dict, Optional, Any, Type, List import qtanim import qtawesome @@ -128,6 +128,13 @@ def __init__(self, parent=None): self._blockFormatMenu.addAction( q_action('Delete', qta_icon('fa5s.trash-alt'), lambda: self._deleteBlock(self._blockFormatPosition))) + self._commandActions = [Heading1Operation, Heading2Operation, Heading3Operation, InsertListOperation, + InsertNumberedListOperation, InsertTableOperation, InsertDividerOperation, + InsertGrayBannerOperation, + InsertRedBannerOperation, + InsertBlueBannerOperation, InsertGreenBannerOperation, InsertYellowBannerOperation, + InsertPurpleBannerOperation] + self.document().setDocumentMargin(40) self._adjustTabDistance() @@ -178,6 +185,10 @@ def setCommandsEnabled(self, value: bool): def setDocumentMargin(self, value: int): self.document().setDocumentMargin(value) + def setCommandOperations(self, operations: List[Type[TextEditorOperation]]): + self._commandActions.clear() + self._commandActions.extend(operations) + def createEnhancedContextMenu(self, pos: QPoint) -> MenuWidget: menu = MenuWidget() menu.addSeparator() @@ -758,12 +769,7 @@ def cleanUp(): rect = self.cursorRect() menu = MenuWidget() - for op_clazz in [Heading1Operation, Heading2Operation, Heading3Operation, InsertListOperation, - InsertNumberedListOperation, InsertTableOperation, InsertDividerOperation, - InsertGrayBannerOperation, - InsertRedBannerOperation, - InsertBlueBannerOperation, InsertGreenBannerOperation, InsertYellowBannerOperation, - InsertPurpleBannerOperation]: + for op_clazz in self._commandActions: action = op_clazz(menu) action.activateOperation(self) menu.addAction(action)