mirror of
https://github.com/aclist/dztui.git
synced 2026-10-31 07:02:50 +01:00
feat: warn if background downloads are disabled
This commit is contained in:
1 parent
ec8f6a3d36
commit
d6bf63886e
3 files changed
+24
-4
No files matched your search
@@ -305,8 +305,6 @@ def _get_running_app() -> int | None:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
# TODO: write tests
|
|
||||||
# TODO: consider moving to proc module
|
|
||||||
def get_running_app() -> int | None:
|
def get_running_app() -> int | None:
|
||||||
PROC_NAME = "steam"
|
PROC_NAME = "steam"
|
||||||
SUBPROC_NAME = "reaper"
|
SUBPROC_NAME = "reaper"
|
||||||
@@ -329,7 +327,6 @@ def get_running_app() -> int | None:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
# TODO: write tests
|
|
||||||
def get_app_allows_downloads(path: Path, appid: int) -> bool:
|
def get_app_allows_downloads(path: Path, appid: int) -> bool:
|
||||||
root_path = get_app_path(path, appid)
|
root_path = get_app_path(path, appid)
|
||||||
acf = root_path.joinpath(f"steamapps/appmanifest_{appid}.acf")
|
acf = root_path.joinpath(f"steamapps/appmanifest_{appid}.acf")
|
||||||
|
|||||||
@@ -12,8 +12,11 @@ import dzgui.api.servers as Servers
|
|||||||
|
|
||||||
from dzgui.api.steam import (
|
from dzgui.api.steam import (
|
||||||
connect,
|
connect,
|
||||||
get_remote_signatures,
|
get_app_allows_downloads,
|
||||||
|
get_app_name,
|
||||||
get_needs_update,
|
get_needs_update,
|
||||||
|
get_remote_signatures,
|
||||||
|
get_running_app,
|
||||||
load_to_menu,
|
load_to_menu,
|
||||||
subscribe,
|
subscribe,
|
||||||
)
|
)
|
||||||
@@ -82,6 +85,7 @@ class Prerequisites:
|
|||||||
mods: list[list[str]]
|
mods: list[list[str]]
|
||||||
game_mode: bool
|
game_mode: bool
|
||||||
is_last_server: bool
|
is_last_server: bool
|
||||||
|
allows_downloads: tuple[bool, str]
|
||||||
|
|
||||||
|
|
||||||
class ConnectionManager:
|
class ConnectionManager:
|
||||||
@@ -167,6 +171,15 @@ class ConnectionManager:
|
|||||||
|
|
||||||
dayz_running = is_dayz_running()
|
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_name = self.controller.get_steam_client_name()
|
||||||
client = self.controller.query_config(Preferences.CLIENT)
|
client = self.controller.query_config(Preferences.CLIENT)
|
||||||
running = is_steam_running(client)
|
running = is_steam_running(client)
|
||||||
@@ -192,6 +205,7 @@ class ConnectionManager:
|
|||||||
mods=remote_mods,
|
mods=remote_mods,
|
||||||
game_mode=game_mode,
|
game_mode=game_mode,
|
||||||
is_last_server=is_last,
|
is_last_server=is_last,
|
||||||
|
allows_downloads=allows_downloads,
|
||||||
)
|
)
|
||||||
|
|
||||||
func = StoredFunc(self.controller.open_connection_assistant, prereqs)
|
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."
|
"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_warnings(warnings)
|
||||||
self.add_errors(errors)
|
self.add_errors(errors)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user