diff --git a/dangerzone/cli.py b/dangerzone/cli.py
index 45a7305..3270b85 100644
--- a/dangerzone/cli.py
+++ b/dangerzone/cli.py
@@ -10,7 +10,7 @@ from colorama import Back, Fore, Style
from . import args, container, errors
from .container import convert
from .document import SAFE_EXTENSION, Document
-from .global_common import GlobalCommon
+from .logic import DangerzoneCore
from .util import get_version
@@ -32,7 +32,7 @@ def cli_main(
output_filename: Optional[str], ocr_lang: Optional[str], filename: str
) -> None:
setup_logging()
- global_common = GlobalCommon()
+ dangerzone = DangerzoneCore()
display_banner()
@@ -47,14 +47,14 @@ def cli_main(
# Validate OCR language
if ocr_lang:
valid = False
- for lang in global_common.ocr_languages:
- if global_common.ocr_languages[lang] == ocr_lang:
+ for lang in dangerzone.ocr_languages:
+ if dangerzone.ocr_languages[lang] == ocr_lang:
valid = True
break
if not valid:
click.echo("Invalid OCR language code. Valid language codes:")
- for lang in global_common.ocr_languages:
- click.echo(f"{global_common.ocr_languages[lang]}: {lang}")
+ for lang in dangerzone.ocr_languages:
+ click.echo(f"{dangerzone.ocr_languages[lang]}: {lang}")
exit(1)
# Ensure container is installed
diff --git a/dangerzone/gui/__init__.py b/dangerzone/gui/__init__.py
index a87ca1a..4c6999c 100644
--- a/dangerzone/gui/__init__.py
+++ b/dangerzone/gui/__init__.py
@@ -12,7 +12,7 @@ from PySide2 import QtCore, QtGui, QtWidgets
from .. import args, errors
from ..document import Document
-from ..global_common import GlobalCommon
+from ..logic import DangerzoneCore
from .common import GuiCommon
from .main_window import MainWindow
from .systray import SysTray
@@ -71,14 +71,14 @@ def gui_main(filename: Optional[str]) -> bool:
app = app_wrapper.app
# Common objects
- global_common = GlobalCommon()
- gui_common = GuiCommon(app, global_common)
+ dangerzone = DangerzoneCore()
+ gui_common = GuiCommon(app, dangerzone)
# Allow Ctrl-C to smoothly quit the program instead of throwing an exception
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Create the system tray
- systray = SysTray(global_common, gui_common, app, app_wrapper)
+ systray = SysTray(dangerzone, gui_common, app, app_wrapper)
closed_windows: Dict[str, MainWindow] = {}
windows: Dict[str, MainWindow] = {}
@@ -91,7 +91,7 @@ def gui_main(filename: Optional[str]) -> bool:
def new_window(input_filename: Optional[str] = None) -> None:
document = Document(input_filename)
window_id = uuid.uuid4().hex
- window = MainWindow(global_common, gui_common, window_id, document)
+ window = MainWindow(dangerzone, gui_common, window_id, document)
window.delete_window.connect(delete_window)
windows[window_id] = window
diff --git a/dangerzone/gui/common.py b/dangerzone/gui/common.py
index 956481f..0b834d0 100644
--- a/dangerzone/gui/common.py
+++ b/dangerzone/gui/common.py
@@ -17,7 +17,7 @@ elif platform.system() == "Linux":
import getpass
from xdg.DesktopEntry import DesktopEntry
-from ..global_common import GlobalCommon
+from ..logic import DangerzoneCore
from ..settings import Settings
from ..util import get_resource_path
@@ -29,14 +29,12 @@ class GuiCommon(object):
The GuiCommon class is a singleton of shared functionality for the GUI
"""
- def __init__(
- self, app: QtWidgets.QApplication, global_common: GlobalCommon
- ) -> None:
+ def __init__(self, app: QtWidgets.QApplication, dangerzone: DangerzoneCore) -> None:
# Qt app
self.app = app
# Global common singleton
- self.global_common = global_common
+ self.dangerzone = dangerzone
# Preload font
self.fixed_font = QtGui.QFontDatabase.systemFont(QtGui.QFontDatabase.FixedFont)
@@ -67,7 +65,7 @@ class GuiCommon(object):
elif platform.system() == "Linux":
# Get the PDF reader command
args = shlex.split(
- self.pdf_viewers[self.global_common.settings.get("open_app")]
+ self.pdf_viewers[self.dangerzone.settings.get("open_app")]
)
# %f, %F, %u, and %U are filenames or URLS -- so replace with the file to open
for i in range(len(args)):
@@ -118,13 +116,13 @@ class Alert(QtWidgets.QDialog):
def __init__(
self,
gui_common: GuiCommon,
- global_common: GlobalCommon,
+ dangerzone: DangerzoneCore,
message: str,
ok_text: str = "Ok",
extra_button_text: str = None,
) -> None:
super(Alert, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.setWindowTitle("dangerzone")
diff --git a/dangerzone/gui/main_window.py b/dangerzone/gui/main_window.py
index a425ee9..ae4db1e 100644
--- a/dangerzone/gui/main_window.py
+++ b/dangerzone/gui/main_window.py
@@ -13,7 +13,7 @@ from PySide2 import QtCore, QtGui, QtWidgets
from .. import container
from ..container import convert
from ..document import Document
-from ..global_common import GlobalCommon
+from ..logic import DangerzoneCore
from ..util import get_resource_path, get_subprocess_startupinfo
from .common import GuiCommon
@@ -25,13 +25,13 @@ class MainWindow(QtWidgets.QMainWindow):
def __init__(
self,
- global_common: GlobalCommon,
+ dangerzone: DangerzoneCore,
gui_common: GuiCommon,
window_id: str,
document: Document,
) -> None:
super(MainWindow, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.window_id = window_id
self.document = document
@@ -58,12 +58,12 @@ class MainWindow(QtWidgets.QMainWindow):
header_layout.addStretch()
# Waiting widget, replaces content widget while container runtime isn't available
- self.waiting_widget = WaitingWidget(self.global_common, self.gui_common)
+ self.waiting_widget = WaitingWidget(self.dangerzone, self.gui_common)
self.waiting_widget.finished.connect(self.waiting_finished)
# Content widget, contains all the window content except waiting widget
self.content_widget = ContentWidget(
- self.global_common, self.gui_common, self.document
+ self.dangerzone, self.gui_common, self.document
)
self.content_widget.close_window.connect(self.close)
@@ -103,9 +103,9 @@ class MainWindow(QtWidgets.QMainWindow):
class InstallContainerThread(QtCore.QThread):
finished = QtCore.Signal()
- def __init__(self, global_common: GlobalCommon) -> None:
+ def __init__(self, dangerzone: DangerzoneCore) -> None:
super(InstallContainerThread, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
def run(self) -> None:
container.install()
@@ -124,9 +124,9 @@ class WaitingWidget(QtWidgets.QWidget):
# - "install_container"
finished = QtCore.Signal()
- def __init__(self, global_common: GlobalCommon, gui_common: GuiCommon) -> None:
+ def __init__(self, dangerzone: DangerzoneCore, gui_common: GuiCommon) -> None:
super(WaitingWidget, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.label = QtWidgets.QLabel()
@@ -201,7 +201,7 @@ class WaitingWidget(QtWidgets.QWidget):
"Installing the Dangerzone container image.
This might take a few minutes..."
)
self.buttons.hide()
- self.install_container_t = InstallContainerThread(self.global_common)
+ self.install_container_t = InstallContainerThread(self.dangerzone)
self.install_container_t.finished.connect(self.finished)
self.install_container_t.start()
@@ -210,11 +210,11 @@ class ContentWidget(QtWidgets.QWidget):
close_window = QtCore.Signal()
def __init__(
- self, global_common: GlobalCommon, gui_common: GuiCommon, document: Document
+ self, dangerzone: DangerzoneCore, gui_common: GuiCommon, document: Document
) -> None:
super(ContentWidget, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.document = document
@@ -224,7 +224,7 @@ class ContentWidget(QtWidgets.QWidget):
# Settings
self.settings_widget = SettingsWidget(
- self.global_common, self.gui_common, self.document
+ self.dangerzone, self.gui_common, self.document
)
self.doc_selection_widget.document_selected.connect(
self.settings_widget.document_selected
@@ -235,7 +235,7 @@ class ContentWidget(QtWidgets.QWidget):
# Convert
self.convert_widget = ConvertWidget(
- self.global_common, self.gui_common, self.document
+ self.dangerzone, self.gui_common, self.document
)
self.convert_widget.close_window.connect(self._close_window)
self.doc_selection_widget.document_selected.connect(
@@ -309,10 +309,10 @@ class SettingsWidget(QtWidgets.QWidget):
close_window = QtCore.Signal()
def __init__(
- self, global_common: GlobalCommon, gui_common: GuiCommon, document: Document
+ self, dangerzone: DangerzoneCore, gui_common: GuiCommon, document: Document
) -> None:
super(SettingsWidget, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.document = document
@@ -371,8 +371,8 @@ class SettingsWidget(QtWidgets.QWidget):
# OCR document
self.ocr_checkbox = QtWidgets.QCheckBox("OCR document, language")
self.ocr_combobox = QtWidgets.QComboBox()
- for k in self.global_common.ocr_languages:
- self.ocr_combobox.addItem(k, self.global_common.ocr_languages[k])
+ for k in self.dangerzone.ocr_languages:
+ self.ocr_combobox.addItem(k, self.dangerzone.ocr_languages[k])
ocr_layout = QtWidgets.QHBoxLayout()
ocr_layout.addWidget(self.ocr_checkbox)
ocr_layout.addWidget(self.ocr_combobox)
@@ -403,31 +403,29 @@ class SettingsWidget(QtWidgets.QWidget):
self.setLayout(layout)
# Load values from settings
- if self.global_common.settings.get("save"):
+ if self.dangerzone.settings.get("save"):
self.save_checkbox.setCheckState(QtCore.Qt.Checked)
else:
self.save_checkbox.setCheckState(QtCore.Qt.Unchecked)
- if self.global_common.settings.get("ocr"):
+ if self.dangerzone.settings.get("ocr"):
self.ocr_checkbox.setCheckState(QtCore.Qt.Checked)
else:
self.ocr_checkbox.setCheckState(QtCore.Qt.Unchecked)
- index = self.ocr_combobox.findText(
- self.global_common.settings.get("ocr_language")
- )
+ index = self.ocr_combobox.findText(self.dangerzone.settings.get("ocr_language"))
if index != -1:
self.ocr_combobox.setCurrentIndex(index)
if platform.system() == "Darwin" or platform.system() == "Linux":
- if self.global_common.settings.get("open"):
+ if self.dangerzone.settings.get("open"):
self.open_checkbox.setCheckState(QtCore.Qt.Checked)
else:
self.open_checkbox.setCheckState(QtCore.Qt.Unchecked)
if platform.system() == "Linux":
index = self.open_combobox.findText(
- self.global_common.settings.get("open_app")
+ self.dangerzone.settings.get("open_app")
)
if index != -1:
self.open_combobox.setCurrentIndex(index)
@@ -475,22 +473,22 @@ class SettingsWidget(QtWidgets.QWidget):
self.document.output_filename = tmp[1]
# Update settings
- self.global_common.settings.set(
+ self.dangerzone.settings.set(
"save", self.save_checkbox.checkState() == QtCore.Qt.Checked
)
- self.global_common.settings.set(
+ self.dangerzone.settings.set(
"ocr", self.ocr_checkbox.checkState() == QtCore.Qt.Checked
)
- self.global_common.settings.set("ocr_language", self.ocr_combobox.currentText())
+ self.dangerzone.settings.set("ocr_language", self.ocr_combobox.currentText())
if platform.system() == "Darwin" or platform.system() == "Linux":
- self.global_common.settings.set(
+ self.dangerzone.settings.set(
"open", self.open_checkbox.checkState() == QtCore.Qt.Checked
)
if platform.system() == "Linux":
- self.global_common.settings.set(
+ self.dangerzone.settings.set(
"open_app", self.open_combobox.currentText()
)
- self.global_common.settings.save()
+ self.dangerzone.settings.save()
# Start!
self.start_clicked.emit()
@@ -500,16 +498,16 @@ class ConvertThread(QtCore.QThread):
finished = QtCore.Signal(bool)
update = QtCore.Signal(bool, str, int)
- def __init__(self, global_common: GlobalCommon, document: Document) -> None:
+ def __init__(self, dangerzone: DangerzoneCore, document: Document) -> None:
super(ConvertThread, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.document = document
self.error = False
def run(self) -> None:
- if self.global_common.settings.get("ocr"):
- ocr_lang = self.global_common.ocr_languages[
- self.global_common.settings.get("ocr_language")
+ if self.dangerzone.settings.get("ocr"):
+ ocr_lang = self.dangerzone.ocr_languages[
+ self.dangerzone.settings.get("ocr_language")
]
else:
ocr_lang = None
@@ -549,10 +547,10 @@ class ConvertWidget(QtWidgets.QWidget):
close_window = QtCore.Signal()
def __init__(
- self, global_common: GlobalCommon, gui_common: GuiCommon, document: Document
+ self, dangerzone: DangerzoneCore, gui_common: GuiCommon, document: Document
) -> None:
super(ConvertWidget, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.document = document
@@ -602,7 +600,7 @@ class ConvertWidget(QtWidgets.QWidget):
)
def start(self) -> None:
- self.convert_t = ConvertThread(self.global_common, self.document)
+ self.convert_t = ConvertThread(self.dangerzone, self.document)
self.convert_t.update.connect(self.update_progress)
self.convert_t.finished.connect(self.all_done)
self.convert_t.start()
@@ -630,7 +628,7 @@ class ConvertWidget(QtWidgets.QWidget):
)
# Open
- if self.global_common.settings.get("open"):
+ if self.dangerzone.settings.get("open"):
self.gui_common.open_pdf_viewer(self.document.output_filename)
# Quit
diff --git a/dangerzone/gui/systray.py b/dangerzone/gui/systray.py
index 081e8e0..676dd2a 100644
--- a/dangerzone/gui/systray.py
+++ b/dangerzone/gui/systray.py
@@ -3,7 +3,7 @@ from typing import TYPE_CHECKING
from PySide2 import QtWidgets
-from ..global_common import GlobalCommon
+from ..logic import DangerzoneCore
from .common import GuiCommon
if TYPE_CHECKING:
@@ -13,13 +13,13 @@ if TYPE_CHECKING:
class SysTray(QtWidgets.QSystemTrayIcon):
def __init__(
self,
- global_common: GlobalCommon,
+ dangerzone: DangerzoneCore,
gui_common: GuiCommon,
app: QtWidgets.QApplication,
app_wrapper: "ApplicationWrapper",
) -> None:
super(SysTray, self).__init__()
- self.global_common = global_common
+ self.dangerzone = dangerzone
self.gui_common = gui_common
self.app = app
self.app_wrapper = app_wrapper
diff --git a/dangerzone/global_common.py b/dangerzone/logic.py
similarity index 86%
rename from dangerzone/global_common.py
rename to dangerzone/logic.py
index e7928d2..7f803ae 100644
--- a/dangerzone/global_common.py
+++ b/dangerzone/logic.py
@@ -18,9 +18,9 @@ from .util import get_resource_path
log = logging.getLogger(__name__)
-class GlobalCommon(object):
+class DangerzoneCore(object):
"""
- The GlobalCommon class is a singleton of shared functionality throughout the app
+ The DangerzoneCore class is a singleton of shared functionality throughout the app
"""
def __init__(self) -> None:
diff --git a/dangerzone/settings.py b/dangerzone/settings.py
index 0c8355c..ddd1273 100644
--- a/dangerzone/settings.py
+++ b/dangerzone/settings.py
@@ -6,16 +6,16 @@ from typing import TYPE_CHECKING, Any, Dict, Optional
log = logging.getLogger(__name__)
if TYPE_CHECKING:
- from .global_common import GlobalCommon
+ from .logic import DangerzoneCore
class Settings:
settings: Dict[str, Any]
- def __init__(self, global_common: "GlobalCommon") -> None:
- self.global_common = global_common
+ def __init__(self, dangerzone: "DangerzoneCore") -> None:
+ self.dangerzone = dangerzone
self.settings_filename = os.path.join(
- self.global_common.appdata_path, "settings.json"
+ self.dangerzone.appdata_path, "settings.json"
)
self.default_settings: Dict[str, Any] = {
"save": True,
@@ -59,6 +59,6 @@ class Settings:
self.save()
def save(self) -> None:
- os.makedirs(self.global_common.appdata_path, exist_ok=True)
+ os.makedirs(self.dangerzone.appdata_path, exist_ok=True)
with open(self.settings_filename, "w") as settings_file:
json.dump(self.settings, settings_file, indent=4)