Move toggle_hidden into the game class

This commit is contained in:
kramo
2023-03-24 23:26:36 +01:00
parent ecceaabff1
commit b65bab3528
4 changed files with 22 additions and 45 deletions

View File

@@ -17,12 +17,15 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
import json
import os
import subprocess
import sys
from gi.repository import GdkPixbuf, Gio, Gtk
from .save_games import save_games
@Gtk.Template(resource_path="/hu/kramo/Cartridges/gtk/game.ui")
class game(Gtk.Box): # pylint: disable=invalid-name
@@ -80,6 +83,24 @@ class game(Gtk.Box): # pylint: disable=invalid-name
if Gio.Settings.new("hu.kramo.Cartridges").get_boolean("exit-after-launch"):
sys.exit()
def toggle_hidden(self):
games_dir = os.path.join(
os.getenv("XDG_DATA_HOME")
or os.path.expanduser(os.path.join("~", ".local", "share")),
"cartridges",
"games",
)
if not os.path.exists(games_dir):
return
with open(os.path.join(games_dir, f"{self.game_id}.json"), "r") as open_file:
data = json.loads(open_file.read())
data["hidden"] = not data["hidden"]
save_games({self.game_id: data})
def get_cover(self):
# If the cover is already in memory, return

View File

@@ -36,7 +36,6 @@ from .heroic_parser import heroic_parser
from .preferences import PreferencesWindow
from .save_games import save_games
from .steam_parser import steam_parser
from .toggle_hidden import toggle_hidden
from .window import CartridgesWindow
@@ -167,7 +166,7 @@ class CartridgesApplication(Adw.Application):
def on_hide_game_action(self, _widget, _callback=None):
if self.win.stack.get_visible_child() == self.win.overview:
self.win.on_go_back_action(None, None)
toggle_hidden(self.win.active_game_id)
self.win.games[self.win.active_game_id].toggle_hidden()
self.win.update_games([self.win.active_game_id])
def on_edit_details_action(self, _widget, _callback=None):

View File

@@ -28,7 +28,6 @@ cartridges_sources = [
'utils/get_games.py',
'utils/save_games.py',
'utils/save_cover.py',
'utils/toggle_hidden.py',
'utils/create_dialog.py',
'utils/create_details_window.py'
]

View File

@@ -1,42 +0,0 @@
# toggle_hidden.py
#
# Copyright 2022-2023 kramo
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
import json
import os
from .save_games import save_games
def toggle_hidden(game):
games_dir = os.path.join(
os.getenv("XDG_DATA_HOME")
or os.path.expanduser(os.path.join("~", ".local", "share")),
"cartridges",
"games",
)
if not os.path.exists(games_dir):
return
with open(os.path.join(games_dir, f"{game}.json"), "r") as open_file:
data = json.loads(open_file.read())
data["hidden"] = not data["hidden"]
save_games({data["game_id"]: data})