mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Preference option to set up preferences on every start (#503)
This commit is contained in:
parent
2d65a038ee
commit
e36f07a3ff
@ -12,6 +12,7 @@ global __dcs_saved_game_directory
|
|||||||
global __dcs_installation_directory
|
global __dcs_installation_directory
|
||||||
global __last_save_file
|
global __last_save_file
|
||||||
global __prefer_liberation_payloads
|
global __prefer_liberation_payloads
|
||||||
|
global __setup_preferences_on_every_start
|
||||||
global __server_port
|
global __server_port
|
||||||
|
|
||||||
|
|
||||||
@ -26,6 +27,7 @@ def init():
|
|||||||
global __last_save_file
|
global __last_save_file
|
||||||
global __ignore_empty_install_directory
|
global __ignore_empty_install_directory
|
||||||
global __prefer_liberation_payloads
|
global __prefer_liberation_payloads
|
||||||
|
global __setup_preferences_on_every_start
|
||||||
global __server_port
|
global __server_port
|
||||||
|
|
||||||
if PREFERENCES_PATH.exists():
|
if PREFERENCES_PATH.exists():
|
||||||
@ -42,20 +44,25 @@ def init():
|
|||||||
__prefer_liberation_payloads = pref_data.get(
|
__prefer_liberation_payloads = pref_data.get(
|
||||||
"prefer_liberation_payloads", False
|
"prefer_liberation_payloads", False
|
||||||
)
|
)
|
||||||
|
__setup_preferences_on_every_start = pref_data.get(
|
||||||
|
"setup_preferences_on_every_start", False
|
||||||
|
)
|
||||||
__server_port = pref_data.get("server_port", 16880)
|
__server_port = pref_data.get("server_port", 16880)
|
||||||
is_first_start = False
|
is_first_start = __setup_preferences_on_every_start
|
||||||
except (KeyError, json.JSONDecodeError):
|
except (KeyError, json.JSONDecodeError):
|
||||||
__dcs_saved_game_directory = ""
|
__dcs_saved_game_directory = ""
|
||||||
__dcs_installation_directory = ""
|
__dcs_installation_directory = ""
|
||||||
__last_save_file = ""
|
__last_save_file = ""
|
||||||
__ignore_empty_install_directory = False
|
__ignore_empty_install_directory = False
|
||||||
__prefer_liberation_payloads = False
|
__prefer_liberation_payloads = False
|
||||||
|
__setup_preferences_on_every_start = False
|
||||||
__server_port = 16880
|
__server_port = 16880
|
||||||
is_first_start = True
|
is_first_start = True
|
||||||
else:
|
else:
|
||||||
__last_save_file = ""
|
__last_save_file = ""
|
||||||
__ignore_empty_install_directory = False
|
__ignore_empty_install_directory = False
|
||||||
__prefer_liberation_payloads = False
|
__prefer_liberation_payloads = False
|
||||||
|
__setup_preferences_on_every_start = False
|
||||||
__server_port = 16880
|
__server_port = 16880
|
||||||
try:
|
try:
|
||||||
__dcs_saved_game_directory = (
|
__dcs_saved_game_directory = (
|
||||||
@ -79,14 +86,16 @@ def init():
|
|||||||
return is_first_start
|
return is_first_start
|
||||||
|
|
||||||
|
|
||||||
def setup(saved_game_dir, install_dir, prefer_liberation_payloads, port):
|
def setup(saved_game_dir, install_dir, prefer_liberation_payloads, setup_preferences_on_every_start, port):
|
||||||
global __dcs_saved_game_directory
|
global __dcs_saved_game_directory
|
||||||
global __dcs_installation_directory
|
global __dcs_installation_directory
|
||||||
global __prefer_liberation_payloads
|
global __prefer_liberation_payloads
|
||||||
|
global __setup_preferences_on_every_start
|
||||||
global __server_port
|
global __server_port
|
||||||
__dcs_saved_game_directory = saved_game_dir
|
__dcs_saved_game_directory = saved_game_dir
|
||||||
__dcs_installation_directory = install_dir
|
__dcs_installation_directory = install_dir
|
||||||
__prefer_liberation_payloads = prefer_liberation_payloads
|
__prefer_liberation_payloads = prefer_liberation_payloads
|
||||||
|
__setup_preferences_on_every_start = setup_preferences_on_every_start
|
||||||
__server_port = port
|
__server_port = port
|
||||||
persistency.setup(saved_game_dir, prefer_liberation_payloads, port)
|
persistency.setup(saved_game_dir, prefer_liberation_payloads, port)
|
||||||
|
|
||||||
@ -108,6 +117,7 @@ def save_config():
|
|||||||
"last_save_file": __last_save_file,
|
"last_save_file": __last_save_file,
|
||||||
"ignore_empty_install_directory": __ignore_empty_install_directory,
|
"ignore_empty_install_directory": __ignore_empty_install_directory,
|
||||||
"prefer_liberation_payloads": __prefer_liberation_payloads,
|
"prefer_liberation_payloads": __prefer_liberation_payloads,
|
||||||
|
"setup_preferences_on_every_start": __setup_preferences_on_every_start,
|
||||||
"server_port": __server_port,
|
"server_port": __server_port,
|
||||||
}
|
}
|
||||||
PREFERENCES_PATH.parent.mkdir(exist_ok=True, parents=True)
|
PREFERENCES_PATH.parent.mkdir(exist_ok=True, parents=True)
|
||||||
@ -130,6 +140,10 @@ def prefer_liberation_payloads():
|
|||||||
return __prefer_liberation_payloads
|
return __prefer_liberation_payloads
|
||||||
|
|
||||||
|
|
||||||
|
def setup_preferences_on_every_start():
|
||||||
|
global __setup_preferences_on_every_start
|
||||||
|
return __setup_preferences_on_every_start
|
||||||
|
|
||||||
def server_port():
|
def server_port():
|
||||||
global __server_port
|
global __server_port
|
||||||
return __server_port
|
return __server_port
|
||||||
|
|||||||
@ -47,6 +47,13 @@ class QLiberationPreferences(QFrame):
|
|||||||
self.payloads_cb = QCheckBox()
|
self.payloads_cb = QCheckBox()
|
||||||
self.payloads_cb.setChecked(self.prefer_liberation_payloads)
|
self.payloads_cb.setChecked(self.prefer_liberation_payloads)
|
||||||
|
|
||||||
|
setup_on_startup = liberation_install.setup_preferences_on_every_start()
|
||||||
|
self.setup_preferences_on_every_start = (
|
||||||
|
setup_on_startup if setup_on_startup else False
|
||||||
|
)
|
||||||
|
self.setup_every_start_cb = QCheckBox()
|
||||||
|
self.setup_every_start_cb.setChecked(self.setup_preferences_on_every_start)
|
||||||
|
|
||||||
self.port = liberation_install.server_port()
|
self.port = liberation_install.server_port()
|
||||||
self.port_input = QSpinBox()
|
self.port_input = QSpinBox()
|
||||||
|
|
||||||
@ -92,12 +99,20 @@ class QLiberationPreferences(QFrame):
|
|||||||
layout.addWidget(self.payloads_cb, 5, 1, alignment=Qt.AlignmentFlag.AlignRight)
|
layout.addWidget(self.payloads_cb, 5, 1, alignment=Qt.AlignmentFlag.AlignRight)
|
||||||
|
|
||||||
layout.addWidget(
|
layout.addWidget(
|
||||||
QLabel("<strong>Server port (restart required):</strong>"),
|
QLabel("<strong>Setup preferences on every start:</strong>"),
|
||||||
6,
|
6,
|
||||||
0,
|
0,
|
||||||
alignment=Qt.AlignmentFlag.AlignLeft,
|
alignment=Qt.AlignmentFlag.AlignLeft,
|
||||||
)
|
)
|
||||||
layout.addWidget(self.port_input, 6, 1, alignment=Qt.AlignmentFlag.AlignRight)
|
layout.addWidget(self.setup_every_start_cb, 6, 1, alignment=Qt.AlignmentFlag.AlignRight)
|
||||||
|
|
||||||
|
layout.addWidget(
|
||||||
|
QLabel("<strong>Server port (restart required):</strong>"),
|
||||||
|
7,
|
||||||
|
0,
|
||||||
|
alignment=Qt.AlignmentFlag.AlignLeft,
|
||||||
|
)
|
||||||
|
layout.addWidget(self.port_input, 7, 1, alignment=Qt.AlignmentFlag.AlignRight)
|
||||||
self.port_input.setRange(1, 2**16 - 1)
|
self.port_input.setRange(1, 2**16 - 1)
|
||||||
self.port_input.setValue(self.port)
|
self.port_input.setValue(self.port)
|
||||||
self.port_input.setStyleSheet("QSpinBox{ width: 50 }")
|
self.port_input.setStyleSheet("QSpinBox{ width: 50 }")
|
||||||
@ -127,6 +142,7 @@ class QLiberationPreferences(QFrame):
|
|||||||
self.saved_game_dir = self.edit_saved_game_dir.text()
|
self.saved_game_dir = self.edit_saved_game_dir.text()
|
||||||
self.dcs_install_dir = self.edit_dcs_install_dir.text()
|
self.dcs_install_dir = self.edit_dcs_install_dir.text()
|
||||||
self.prefer_liberation_payloads = self.payloads_cb.isChecked()
|
self.prefer_liberation_payloads = self.payloads_cb.isChecked()
|
||||||
|
self.setup_preferences_on_every_start = self.setup_every_start_cb.isChecked()
|
||||||
self.port = self.port_input.value()
|
self.port = self.port_input.value()
|
||||||
set_theme_index(self.themeSelect.currentIndex())
|
set_theme_index(self.themeSelect.currentIndex())
|
||||||
|
|
||||||
@ -187,6 +203,7 @@ class QLiberationPreferences(QFrame):
|
|||||||
self.saved_game_dir,
|
self.saved_game_dir,
|
||||||
self.dcs_install_dir,
|
self.dcs_install_dir,
|
||||||
self.prefer_liberation_payloads,
|
self.prefer_liberation_payloads,
|
||||||
|
self.setup_preferences_on_every_start,
|
||||||
self.port,
|
self.port,
|
||||||
)
|
)
|
||||||
liberation_install.save_config()
|
liberation_install.save_config()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user