Skip to content

Commit 3547c80

Browse files
committed
Eliminate settings.get_settings
Settings should always be requested from the app instance, which holds the settings object: `get_app().get_settings()`
1 parent 5591095 commit 3547c80

19 files changed

+63
-83
lines changed

src/classes/language.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333

3434
from classes.logger import log
3535
from classes import info
36-
from classes import settings
3736

3837

3938
try:
@@ -75,7 +74,11 @@ def init_language():
7574
]
7675

7776
# Get the user's configured language preference
78-
preference_lang = settings.get_settings().get('default-language')
77+
settings = app.get_settings()
78+
if settings:
79+
preference_lang = settings.get('default-language')
80+
else:
81+
preference_lang = "Default"
7982

8083
# Output all languages detected from various sources
8184
log.info("Qt Detected Languages: {}".format(QLocale().system().uiLanguages()))

src/classes/logger_libopenshot.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@
2626
"""
2727

2828
from threading import Thread
29-
from classes import settings, info
29+
from classes import info
3030
from classes.logger import log
31+
from classes.app import get_app
3132
import openshot
3233
import os
3334
import zmq
@@ -46,7 +47,7 @@ def run(self):
4647
self.running = True
4748

4849
# Get settings
49-
s = settings.get_settings()
50+
s = get_app().get_settings()
5051

5152
# Get port from settings
5253
port = s.get("debug-port")

src/classes/metrics.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@
3535
from copy import deepcopy
3636
from classes import info
3737
from classes import language
38+
from classes.app import get_app
3839
from classes.logger import log
39-
from classes import settings
4040
import openshot
4141

4242
from PyQt5.QtCore import QT_VERSION_STR
4343
from PyQt5.QtCore import PYQT_VERSION_STR
4444

4545
# Get settings
46-
s = settings.get_settings()
46+
s = get_app().get_settings()
4747

4848
# Determine OS version
4949
os_version = "X11; Linux %s" % platform.machine()

src/classes/project_data.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
import random
3434
import shutil
3535

36-
from classes import info, settings
36+
from classes import info
37+
from classes.app import get_app
3738
from classes.image_types import is_image
3839
from classes.json_data import JsonDataStore
3940
from classes.logger import log
@@ -276,7 +277,7 @@ def new(self):
276277
info.BLENDER_PATH = os.path.join(info.USER_PATH, "blender")
277278

278279
# Get default profile
279-
s = settings.get_settings()
280+
s = get_app().get_settings()
280281
default_profile = s.get("default-profile")
281282

282283
# Loop through profiles
@@ -853,7 +854,7 @@ def add_to_recent_files(self, file_path):
853854
# Ignore backup recovery project
854855
return
855856

856-
s = settings.get_settings()
857+
s = get_app().get_settings()
857858
recent_projects = s.get("recent_projects")
858859

859860
# Make sure file_path is absolute

src/classes/settings.py

+3-20
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,14 @@
3535
from classes.json_data import JsonDataStore
3636

3737

38-
def get_settings():
39-
""" Get the current application's settings instance """
40-
return SettingStore.get_app().get_settings()
41-
42-
4338
class SettingStore(JsonDataStore):
4439
""" This class only allows setting pre-existing keys taken from default settings file, and merges user settings
4540
on load, assumes default OS dir."""
4641

47-
@classmethod
48-
def save_app(cls, app_reference):
49-
cls._app = app_reference
50-
51-
@classmethod
52-
def get_app(cls):
53-
if hasattr(cls, "_app"):
54-
return cls._app
55-
return None
56-
5742
def __init__(self, parent=None):
5843
super().__init__()
5944
# Also keep track of our parent, if defined
60-
if parent:
61-
SettingStore.save_app(parent)
45+
self.app = parent
6246
# Set the data type name for logging clarity (base class functions use this variable)
6347
self.data_type = "user settings"
6448
self.settings_filename = "openshot.settings"
@@ -111,10 +95,9 @@ def load(self):
11195
except Exception as ex:
11296
log.error("Error loading settings file: %s", ex)
11397
user_settings = {}
114-
app = SettingStore.get_app()
115-
if app:
98+
if self.app:
11699
# We have a parent, ask to show a message box
117-
app.settings_load_error(file_path)
100+
self.app.settings_load_error(file_path)
118101

119102
# Merge default and user settings, excluding settings not in default, Save settings
120103
self._data = self.merge_settings(default_settings, user_settings)

src/classes/timeline.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
from classes.updates import UpdateInterface
3232
from classes.logger import log
3333
from classes.app import get_app
34-
from classes import settings
3534

3635

3736
class TimelineSync(UpdateInterface):
@@ -41,7 +40,7 @@ def __init__(self, window):
4140
self.app = get_app()
4241
self.window = window
4342
project = self.app.project
44-
s = settings.get_settings()
43+
s = self.app.get_settings()
4544

4645
# Get some settings from the project
4746
fps = project.get("fps")

src/classes/waveform.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,11 @@
3131
from classes import info
3232
from classes.app import get_app
3333
from classes.logger import log
34-
from classes import settings
3534
import openshot
3635

3736

3837
# Get settings
39-
s = settings.get_settings()
38+
s = get_app().get_settings()
4039

4140

4241
def get_audio_data(clip_id, file_path, channel_filter, volume_keyframe):

src/windows/add_to_timeline.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
from PyQt5.QtWidgets import QDialog
3434
from PyQt5.QtGui import QIcon
3535

36-
from classes import settings
3736
from classes import info, ui_util, time_parts
3837
from classes.logger import log
3938
from classes.query import Clip, Transition
@@ -437,13 +436,13 @@ def __init__(self, files=None, position=0.0):
437436
# Init UI
438437
ui_util.init_ui(self)
439438

440-
# Get settings
441-
self.settings = settings.get_settings()
442-
443439
# Get translation object
444440
self.app = get_app()
445441
_ = self.app._tr
446442

443+
# Get settings
444+
self.settings = self.app.get_settings()
445+
447446
# Track metrics
448447
track_metric_screen("add-to-timeline-screen")
449448

src/windows/export.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
from classes import info
5151
from classes import ui_util
5252
from classes import openshot_rc # noqa
53-
from classes import settings
5453
from classes.logger import log
5554
from classes.app import get_app
5655
from classes.metrics import track_metric_screen, track_metric_error
@@ -78,12 +77,12 @@ def __init__(self, *args, **kwargs):
7877

7978
# get translations & settings
8079
_ = get_app()._tr
81-
self.s = settings.get_settings()
80+
self.s = get_app().get_settings()
8281

8382
track_metric_screen("export-screen")
8483

8584
# Dynamically load tabs from settings data
86-
self.settings_data = settings.get_settings().get_all_settings()
85+
self.settings_data = self.s.get_all_settings()
8786

8887
# Add buttons to interface
8988
self.cancel_button = QPushButton(_('Cancel'))

src/windows/file_properties.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
# Python module for libopenshot (required video editing module installed separately)
3636
import openshot
3737

38-
from classes import info, ui_util, settings
38+
from classes import info, ui_util
3939
from classes.app import get_app
4040
from classes.logger import log
4141
from classes.metrics import track_metric_screen
@@ -64,7 +64,7 @@ def __init__(self, file):
6464
_ = app._tr
6565

6666
# Get settings
67-
self.s = settings.get_settings()
67+
self.s = app.get_settings()
6868

6969
# Track metrics
7070
track_metric_screen("file-properties-screen")
@@ -75,7 +75,7 @@ def __init__(self, file):
7575
self.buttonBox.addButton(QPushButton(_('Cancel')), QDialogButtonBox.RejectRole)
7676

7777
# Dynamically load tabs from settings data
78-
self.settings_data = settings.get_settings().get_all_settings()
78+
self.settings_data = self.s.get_all_settings()
7979

8080
# Get file properties
8181
filename = os.path.basename(self.file.data["path"])

0 commit comments

Comments
 (0)