add new highlight dialog

This commit is contained in:
2023-01-22 09:11:01 +01:00
parent bdac446d51
commit e8fe759f70
6 changed files with 201 additions and 4 deletions

View File

@@ -4,6 +4,8 @@ from typing import Optional
from PySide6.QtWidgets import QMessageBox
from src.pluginregistry import PluginRegistry
from src.plugins.domain.menucontribution import MenuContribution
from src.plugins.domain.raction import RAction
from src.plugins.logfile.fulltabwidget import FullTabWidget
from src.ui.bigtext.logFileModel import LogFileModel
from src.pluginbase import PluginBase
@@ -11,6 +13,7 @@ from src.plugins.krowlog.Tab import Tab
from src.settings.settings import Settings
from src.i18n import _
from src.ui.bigtext.newhighlightingdialog import NewHighlightingDialog
class LogFilePlugin(PluginBase):
@@ -21,6 +24,20 @@ class LogFilePlugin(PluginBase):
def set_settings(self, settings: Settings):
self.settings = settings
def get_menu_contributions(self) -> [MenuContribution]:
return [
MenuContribution("settings", action=self._action_highlighter(), action_id="new highlighter",
after="<last>"),
]
def _action_highlighter(self):
manage = RAction(
_("&Highlighter"),
action=lambda: NewHighlightingDialog(self.settings).exec(),
shortcut='Ctrl+H'
)
return manage
def create_tab(self, file: str) -> Optional[Tab]:
if not os.path.isfile(file):
message = QMessageBox(QMessageBox.Icon.Warning, _("File not found"),