add time diff plugin

This commit is contained in:
2022-03-12 09:28:33 +01:00
parent b99421e8e7
commit 297f67b9b5
16 changed files with 239 additions and 21 deletions

View File

@@ -0,0 +1,34 @@
from typing import Optional
from PySide6.QtGui import QIcon
from src.pluginbase import PluginBase
from src.plugins.domain.raction import RAction
from src.plugins.logfile.preprocesslineshook import PreProcessLinesHook
from src.plugins.timediff.time_diff_pre_process_lines_hook import TimeDiffPreProcessLinesHook
from src.i18n import _
class TimeDiffPlugin(PluginBase):
def __init__(self):
super(TimeDiffPlugin, self).__init__()
self.time_diff_state = False
self.time_diff_action = RAction(_(""), lambda: self._toggle_time_diff(),
icon_file="icons/ionicons/stopwatch-outline.svg", checkable=True)
def copy(self):
return TimeDiffPlugin()
def get_filter_widget_actions(self) -> [RAction]:
return [
self.time_diff_action
]
def get_pre_process_lines_hook(self) -> Optional[PreProcessLinesHook]:
if self.time_diff_state:
return TimeDiffPreProcessLinesHook()
return None
def _toggle_time_diff(self):
self.time_diff_state = not self.time_diff_state
self.time_diff_action.set_checked(self.time_diff_state)