diff --git a/.idea/misc.xml b/.idea/misc.xml
index fae0558..ec23e04 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,5 +3,5 @@
-
+
\ No newline at end of file
diff --git a/.idea/ravenlog.iml b/.idea/ravenlog.iml
index 20e1da9..5ee9779 100644
--- a/.idea/ravenlog.iml
+++ b/.idea/ravenlog.iml
@@ -10,7 +10,7 @@
-
+
\ No newline at end of file
diff --git a/make_installer.py b/make_installer.py
index 214fbc2..a336624 100644
--- a/make_installer.py
+++ b/make_installer.py
@@ -18,9 +18,7 @@ arguments = [
'--add-binary', 'changelog.txt' + os.pathsep + '.',
'--add-binary', 'version.txt' + os.pathsep + '.',
'--hidden-import=krowlog',
- '--hidden-import=watchdog',
- '--hidden-import=watchdog.observers',
- '--hidden-import=watchdog.version',
+ '--hidden-import=__future__',
'--hidden-import=configparser'
]
diff --git a/requirements.txt b/requirements.txt
index d4b7b29..e6e4bed 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,4 @@
pip==25.0.1
PySide6_Essentials==6.8.2.1
setuptools==77.0.3
-watchdog==6.0.0
pyinstaller==6.12.0
diff --git a/src/plugins/krowlog/aboutdialog.py b/src/plugins/krowlog/aboutdialog.py
index 3aa3ee0..6018ee2 100644
--- a/src/plugins/krowlog/aboutdialog.py
+++ b/src/plugins/krowlog/aboutdialog.py
@@ -1,7 +1,6 @@
import textwrap
import PySide6
-from watchdog import version as watchdog_version
from PySide6.QtCore import Qt
from PySide6.QtGui import QFont, QPalette
from PySide6.QtWidgets import *
@@ -75,11 +74,9 @@ class AboutDialog(QDialog):
""".format(
pyside=PySide6.__version__,
- qt=PySide6.QtCore.__version__,
- watchdog=watchdog_version.VERSION_STRING)
+ qt=PySide6.QtCore.__version__)
label = textwrap.dedent(dependencies)
result = QWidget()
diff --git a/src/plugins/logfile/filterwidget.py b/src/plugins/logfile/filterwidget.py
index ff3512c..68de94c 100644
--- a/src/plugins/logfile/filterwidget.py
+++ b/src/plugins/logfile/filterwidget.py
@@ -279,6 +279,7 @@ class FilterWidget(QWidget):
def destruct(self):
self._cancel_search()
+ self.hits_view.destruct()
os.remove(self.tmp_filename)
def _cancel_search(self):
diff --git a/src/ui/bigtext/bigtext.py b/src/ui/bigtext/bigtext.py
index 3b87980..45912e5 100644
--- a/src/ui/bigtext/bigtext.py
+++ b/src/ui/bigtext/bigtext.py
@@ -23,55 +23,31 @@ from src.ui.icon import Icon
from src.ui.rangeslider import RangeSlider
from src.util.conversion import humanbytes
from src.pluginregistry import PluginRegistry
+from threading import Event
-from src.settings.settings import Settings
-from watchdog.observers import Observer
-from watchdog.events import FileSystemEventHandler
from src.i18n import _
log = logging.getLogger("bigtext")
-
-class FileObserver(FileSystemEventHandler):
-
- def __init__(self, big_text):
- super(FileObserver, self).__init__()
- self.big_text = big_text
- self._last_mtime = -1
-
- def on_modified(self, event):
- # slow down the updates. This is needed, because the file is modified
- # constantly, which would lead to constant re-rendering, which would
- # block the UI thread and make the UI unresponsive.
- # Note: we don't miss events, because they are queued and de-duplicated
- if not event.is_directory:
- try:
- mtime = os.stat(event.src_path).st_mtime
- if mtime != self._last_mtime:
- self._last_mtime = mtime
- time.sleep(0.5)
- self.big_text.trigger_update.emit()
- except FileNotFoundError:
- # ignore: happens when closing the application, because tmp files are deleted,
- # which triggers a modification event
- pass
-
-
class FileWatchdogThread(QRunnable):
def __init__(self, big_text, file: str):
super(FileWatchdogThread, self).__init__()
self.file = file
self.big_text = big_text
- self.observer = Observer()
+ self.stop = Event()
def run(self) -> None:
- self.observer.schedule(FileObserver(self.big_text), self.file)
- self.observer.start()
+ _last_mtime = None
+ while not self.stop.is_set():
+ mtime = os.stat(self.file).st_mtime
+ if mtime != _last_mtime:
+ _last_mtime = mtime
+ self.big_text.trigger_update.emit()
+ self.stop.wait(0.5)
def destruct(self):
- self.observer.stop()
- # self.observer.join(1)
+ self.stop.set()
class BigText(QWidget):