From cbc4a1e7ea0476f6b8f1638739c675fdfd078ecb Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 7 Jan 2020 16:14:43 -0800 Subject: [PATCH] Save and open document, as needed --- dangerzone/__init__.py | 4 ++-- dangerzone/common.py | 5 ++++- dangerzone/main_window.py | 3 +-- dangerzone/tasks_widget.py | 5 +++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/dangerzone/__init__.py b/dangerzone/__init__.py index 34b5f13..364525e 100644 --- a/dangerzone/__init__.py +++ b/dangerzone/__init__.py @@ -23,10 +23,10 @@ def main(filename): app.setQuitOnLastWindowClosed(False) # Common object - common = Common() + common = Common(app) # Main window - main_window = MainWindow(app, common) + main_window = MainWindow(common) if filename != "": # Validate filename diff --git a/dangerzone/common.py b/dangerzone/common.py index 08198b3..e1c9e0e 100644 --- a/dangerzone/common.py +++ b/dangerzone/common.py @@ -14,7 +14,10 @@ class Common(object): The Common class is a singleton of shared functionality throughout the app """ - def __init__(self): + def __init__(self, app): + # Qt app + self.app = app + # Temporary directory to store pixel data self.pixel_dir = tempfile.TemporaryDirectory() self.safe_dir = tempfile.TemporaryDirectory() diff --git a/dangerzone/main_window.py b/dangerzone/main_window.py index a81c0ce..31aebad 100644 --- a/dangerzone/main_window.py +++ b/dangerzone/main_window.py @@ -8,9 +8,8 @@ from .tasks_widget import TasksWidget class MainWindow(QtWidgets.QMainWindow): - def __init__(self, app, common): + def __init__(self, common): super(MainWindow, self).__init__() - self.app = app self.common = common self.setWindowTitle("dangerzone") diff --git a/dangerzone/tasks_widget.py b/dangerzone/tasks_widget.py index e44b4e4..a9aff01 100644 --- a/dangerzone/tasks_widget.py +++ b/dangerzone/tasks_widget.py @@ -1,3 +1,4 @@ +import shutil import shlex import subprocess from PyQt5 import QtCore, QtGui, QtWidgets @@ -91,7 +92,7 @@ class TasksWidget(QtWidgets.QWidget): or args[i] == "%u" or args[i] == "%U" ): - args[i] = self.save_filename + args[i] = self.common.save_filename # Open as a background process subprocess.Popen(args) @@ -101,7 +102,7 @@ class TasksWidget(QtWidgets.QWidget): self.common.safe_dir.cleanup() # Quit - self.app.quit() + self.common.app.quit() def scroll_to_bottom(self, minimum, maximum): self.details_scrollarea.verticalScrollBar().setValue(maximum)