diff --git a/src/game.py b/src/game.py index 146aa1e..c75bfff 100644 --- a/src/game.py +++ b/src/game.py @@ -25,7 +25,6 @@ import sys from gi.repository import GdkPixbuf, Gio, Gtk -from .display_animation import display_animation from .save_game import save_game @@ -59,12 +58,6 @@ class game(Gtk.Box): # pylint: disable=invalid-name self.blacklisted = "blacklisted" in data self.pixbuf = self.get_cover() - self.animation_path = ( - self.parent_widget.data_dir - / "cartridges" - / "animated_covers" - / self.game_id - ) self.cover.set_pixbuf(self.pixbuf) self.title.set_label(self.name) @@ -89,9 +82,6 @@ class game(Gtk.Box): # pylint: disable=invalid-name self.menu_button.set_menu_model(self.game_options) self.menu_button.get_popover().connect("notify::visible", self.hide_play) - if self.animation_path.is_file(): - display_animation(self.cover.set_pixbuf, self.animation_path) - def launch(self): # Generate launch arguments, either list (no shell) or a string (for shell). args = ( diff --git a/src/meson.build b/src/meson.build index 84e8640..bd8b536 100644 --- a/src/meson.build +++ b/src/meson.build @@ -33,8 +33,7 @@ cartridges_sources = [ 'utils/save_game.py', 'utils/save_cover.py', 'utils/create_dialog.py', - 'utils/create_details_window.py', - 'utils/display_animation.py' + 'utils/create_details_window.py' ] install_data(cartridges_sources, install_dir: moduledir) diff --git a/src/utils/create_details_window.py b/src/utils/create_details_window.py index 29c8c3e..2f9cae3 100644 --- a/src/utils/create_details_window.py +++ b/src/utils/create_details_window.py @@ -25,7 +25,6 @@ import time from gi.repository import Adw, GdkPixbuf, Gio, GLib, GObject, Gtk from .create_dialog import create_dialog -from .display_animation import display_animation from .save_cover import save_cover from .save_game import save_game from .steamgriddb import SGDBSave @@ -38,7 +37,6 @@ def create_details_window(parent_widget, game_id=None): games = parent_widget.games pixbuf = None - animation_path = None cover_deleted = False cover_button_edit = Gtk.Button( @@ -59,24 +57,8 @@ def create_details_window(parent_widget, game_id=None): margin_end=6, ) - def update_animation(game_id, animation=None): - new_id = ( - game_id if parent_widget.current_anim_edit != game_id else f"{game_id}_new" - ) - parent_widget.current_anim_edit = new_id - - display_animation( - cover.set_pixbuf, - animation_path if not animation else None, - animation=animation, - parent_widget=parent_widget, - game_id=new_id, - place="edit", - ) - def delete_pixbuf(_widget): nonlocal pixbuf - nonlocal animation_path nonlocal cover_deleted cover.set_pixbuf(parent_widget.placeholder_pixbuf) @@ -84,9 +66,6 @@ def create_details_window(parent_widget, game_id=None): pixbuf = None cover_deleted = True - animation_path = None - parent_widget.current_anim_edit = None - cover_button_delete.connect("clicked", delete_pixbuf) cover_button_delete_revealer = Gtk.Revealer( @@ -105,12 +84,6 @@ def create_details_window(parent_widget, game_id=None): else: window.set_title(_("Edit Game Details")) cover = Gtk.Picture.new_for_pixbuf(parent_widget.games[game_id].pixbuf) - animation_path = ( - parent_widget.data_dir / "cartridges" / "animated_covers" / game_id - ) - if animation_path.is_file(): - update_animation(game_id) - developer = Gtk.Entry.new_with_buffer( Gtk.EntryBuffer.new(games[game_id].developer, -1) ) @@ -245,8 +218,6 @@ def create_details_window(parent_widget, game_id=None): def set_cover(_source, result, _unused): nonlocal pixbuf - nonlocal animation_path - try: path = filechooser.open_finish(result).get_path() except GLib.GError: @@ -254,25 +225,20 @@ def create_details_window(parent_widget, game_id=None): try: pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(path, 200, 300, False) - cover.set_pixbuf(pixbuf) - parent_widget.current_anim_edit = None except GLib.GError: - animation_path = path animated_pixbuf = GdkPixbuf.PixbufAnimation.new_from_file(path) pixbuf = animated_pixbuf.get_static_image().scale_simple( 200, 300, GdkPixbuf.InterpType.BILINEAR ) - update_animation(game_id, animated_pixbuf) - cover_button_delete_revealer.set_reveal_child(True) + cover.set_pixbuf(pixbuf) def close_window(_widget, _callback=None): window.close() def apply_preferences(_widget, _callback=None): nonlocal pixbuf - nonlocal animation_path nonlocal cover_deleted nonlocal game_id @@ -351,18 +317,13 @@ def create_details_window(parent_widget, game_id=None): ( parent_widget.data_dir / "cartridges" / "covers" / f"{game_id}.tiff" ).unlink(missing_ok=True) - ( - parent_widget.data_dir / "cartridges" / "animated_covers" / game_id - ).unlink(missing_ok=True) - if game_id in parent_widget.pixbufs: - parent_widget.pixbufs.pop(game_id) + parent_widget.pixbufs.pop(game_id) if pixbuf: if game_id in parent_widget.pixbufs: parent_widget.pixbufs.pop(game_id) - save_cover(parent_widget, game_id, None, pixbuf, animation_path) - + save_cover(parent_widget, game_id, None, pixbuf) elif not ( parent_widget.data_dir / "cartridges" / "covers" / f"{game_id}.tiff" ).is_file(): @@ -379,11 +340,7 @@ def create_details_window(parent_widget, game_id=None): parent_widget.update_games([game_id]) window.close() - if parent_widget.stack.get_visible_child() != parent_widget.overview: - parent_widget.show_overview(None, game_id) - - if not animation_path: - parent_widget.current_anim_overview = None + parent_widget.show_overview(None, game_id) def focus_executable(_widget): window.set_focus(executable) diff --git a/src/utils/display_animation.py b/src/utils/display_animation.py deleted file mode 100644 index 85a7272..0000000 --- a/src/utils/display_animation.py +++ /dev/null @@ -1,29 +0,0 @@ -from gi.repository import GdkPixbuf, GLib - - -def display_animation( - function, path=None, animation=None, parent_widget=None, game_id=None, place=None -): - if not animation: - animation = GdkPixbuf.PixbufAnimation.new_from_file(str(path)) - - anim_iter = animation.get_iter() - - def update_animation(): - nonlocal anim_iter - - if place == "overview": - if parent_widget.current_anim_overview != game_id: - return - elif place == "edit": - if parent_widget.current_anim_edit != game_id: - return - - anim_iter.advance() - pixbuf = anim_iter.get_pixbuf().scale_simple( - 200, 300, GdkPixbuf.InterpType.BILINEAR - ) - GLib.timeout_add(anim_iter.get_delay_time(), update_animation) - function(pixbuf) - - update_animation() diff --git a/src/utils/save_cover.py b/src/utils/save_cover.py index a8c5903..2ad5aa8 100644 --- a/src/utils/save_cover.py +++ b/src/utils/save_cover.py @@ -18,14 +18,10 @@ # SPDX-License-Identifier: GPL-3.0-or-later -from shutil import copyfile - from gi.repository import GdkPixbuf, Gio -def save_cover( - parent_widget, game_id, cover_path=None, pixbuf=None, animation_path=None -): +def save_cover(parent_widget, game_id, cover_path=None, pixbuf=None): covers_dir = parent_widget.data_dir / "cartridges" / "covers" covers_dir.mkdir(parents=True, exist_ok=True) @@ -42,13 +38,3 @@ def save_cover( ["compression"], ["8"] if parent_widget.schema.get_boolean("high-quality-images") else ["7"], ) - - animated_covers_dir = parent_widget.data_dir / "cartridges" / "animated_covers" - (animated_covers_dir / game_id).unlink(missing_ok=True) - - if animation_path: - if animation_path == animated_covers_dir / game_id: - return - animated_covers_dir.mkdir(parents=True, exist_ok=True) - with animated_covers_dir / game_id as open_file: - copyfile(animation_path, open_file) diff --git a/src/window.py b/src/window.py index 81bd80f..ddcbfb6 100644 --- a/src/window.py +++ b/src/window.py @@ -25,7 +25,6 @@ from shutil import rmtree from gi.repository import Adw, GdkPixbuf, Gio, GLib, Gtk -from .display_animation import display_animation from .game import game from .get_games import get_games from .save_game import save_game @@ -100,8 +99,6 @@ class CartridgesWindow(Adw.ApplicationWindow): self.active_game_id = None self.loading = None self.scaled_pixbuf = None - self.current_anim_overview = None - self.current_anim_edit = None self.overview.set_measure_overlay(self.overview_box, True) self.overview.set_clip_overlay(self.overview_box, False) @@ -289,18 +286,6 @@ class CartridgesWindow(Adw.ApplicationWindow): pixbuf = current_game.pixbuf self.overview_cover.set_pixbuf(pixbuf) - new_id = game_id if self.current_anim_overview != game_id else f"{game_id}_new" - self.current_anim_overview = new_id - - if current_game.animation_path.is_file(): - display_animation( - self.overview_cover.set_pixbuf, - current_game.animation_path, - parent_widget=self, - game_id=new_id, - place="overview", - ) - self.scaled_pixbuf = pixbuf.scale_simple(2, 3, GdkPixbuf.InterpType.BILINEAR) self.overview_blurred_cover.set_pixbuf(self.scaled_pixbuf) self.set_overview_opacity()