mirror of
https://github.com/aclist/dztui.git
synced 2026-08-26 17:57:06 +02:00
feat: warn if background downloads are disabled
This commit is contained in:
parent
ec8f6a3d36
commit
d6bf63886e
@ -305,8 +305,6 @@ def _get_running_app() -> int | None:
|
||||
return None
|
||||
|
||||
|
||||
# TODO: write tests
|
||||
# TODO: consider moving to proc module
|
||||
def get_running_app() -> int | None:
|
||||
PROC_NAME = "steam"
|
||||
SUBPROC_NAME = "reaper"
|
||||
@ -329,7 +327,6 @@ def get_running_app() -> int | None:
|
||||
return None
|
||||
|
||||
|
||||
# TODO: write tests
|
||||
def get_app_allows_downloads(path: Path, appid: int) -> bool:
|
||||
root_path = get_app_path(path, appid)
|
||||
acf = root_path.joinpath(f"steamapps/appmanifest_{appid}.acf")
|
||||
|
||||
@ -12,8 +12,11 @@ import dzgui.api.servers as Servers
|
||||
|
||||
from dzgui.api.steam import (
|
||||
connect,
|
||||
get_remote_signatures,
|
||||
get_app_allows_downloads,
|
||||
get_app_name,
|
||||
get_needs_update,
|
||||
get_remote_signatures,
|
||||
get_running_app,
|
||||
load_to_menu,
|
||||
subscribe,
|
||||
)
|
||||
@ -82,6 +85,7 @@ class Prerequisites:
|
||||
mods: list[list[str]]
|
||||
game_mode: bool
|
||||
is_last_server: bool
|
||||
allows_downloads: tuple[bool, str]
|
||||
|
||||
|
||||
class ConnectionManager:
|
||||
@ -167,6 +171,15 @@ class ConnectionManager:
|
||||
|
||||
dayz_running = is_dayz_running()
|
||||
|
||||
running_app = get_running_app()
|
||||
if running_app is not None:
|
||||
allows_dl = get_app_allows_downloads(steam_path, running_app)
|
||||
running_app_name = get_app_name(running_app)
|
||||
allows_downloads = (allows_dl, running_app_name)
|
||||
else:
|
||||
allows_downloads = (True, "")
|
||||
|
||||
|
||||
client_name = self.controller.get_steam_client_name()
|
||||
client = self.controller.query_config(Preferences.CLIENT)
|
||||
running = is_steam_running(client)
|
||||
@ -192,6 +205,7 @@ class ConnectionManager:
|
||||
mods=remote_mods,
|
||||
game_mode=game_mode,
|
||||
is_last_server=is_last,
|
||||
allows_downloads=allows_downloads,
|
||||
)
|
||||
|
||||
func = StoredFunc(self.controller.open_connection_assistant, prereqs)
|
||||
|
||||
@ -272,6 +272,15 @@ class PreConnectionAssistant(Gtk.Box):
|
||||
"It looks like DayZ is already running in the background. Exit DayZ before connecting."
|
||||
)
|
||||
|
||||
allows_dl, running_app = prereqs.allows_downloads
|
||||
if allows_dl is False:
|
||||
msg = (
|
||||
f"The game '{running_app}' is currently running in Steam, but background downloads are not enabled.\n"
|
||||
"Either stop the game first, or update your global Steam settings or the game's local settings.\n"
|
||||
"Otherwise, mods may be queued for download but never update."
|
||||
)
|
||||
warnings.append(msg)
|
||||
|
||||
self.add_warnings(warnings)
|
||||
self.add_errors(errors)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user