From 86c071cde5ec8325f278ae4341810c969d4eb88e Mon Sep 17 00:00:00 2001 From: Michael Webster Date: Mon, 8 Jul 2024 09:28:40 -0400 Subject: [PATCH] Revert "cs_themes: Restrain picture button heights." This reverts commit 8a1d1e6a946c29c9f36e445d62fee477ca2b7ba1. This causes a regression with the button width for many image sizes. The original issue was minor, and was more of an abuse of what a 'thumbnail' is intended to be, so go back to that. --- .../bin/ChooserButtonWidgets.py | 21 ++++++++----------- .../cinnamon-settings/modules/cs_themes.py | 18 ++++++++-------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/files/usr/share/cinnamon/cinnamon-settings/bin/ChooserButtonWidgets.py b/files/usr/share/cinnamon/cinnamon-settings/bin/ChooserButtonWidgets.py index 042fa9b17e..a05b47bec3 100644 --- a/files/usr/share/cinnamon/cinnamon-settings/bin/ChooserButtonWidgets.py +++ b/files/usr/share/cinnamon/cinnamon-settings/bin/ChooserButtonWidgets.py @@ -66,11 +66,11 @@ def _on_button_clicked(self, widget, event): self.menu.popup(None, None, self.popup_menu_below_button, self, event.button, event.time) class PictureChooserButton(BaseChooserButton): - def __init__ (self, num_cols=4, button_picture_height=24, menu_picture_width=24, has_button_label=False, keep_square=False, frame=False): + def __init__ (self, num_cols=4, button_picture_width=24, menu_picture_width=24, has_button_label=False, keep_square=False, frame=False): super(PictureChooserButton, self).__init__(has_button_label, frame) self.num_cols = num_cols self.scale = self.get_scale_factor() - self.button_picture_height = button_picture_height + self.button_picture_width = button_picture_width self.menu_picture_width = menu_picture_width self.keep_square = keep_square self.row = 0 @@ -82,9 +82,9 @@ def __init__ (self, num_cols=4, button_picture_height=24, menu_picture_width=24, self.button_image.set_valign(Gtk.Align.CENTER) if self.keep_square: - self.button_image.set_size_request(button_picture_height / self.scale, button_picture_height / self.scale) + self.button_image.set_size_request(button_picture_width / self.scale, button_picture_width / self.scale) else: - self.button_image.set_size_request(-1, button_picture_height / self.scale) + self.button_image.set_size_request(button_picture_width / self.scale, -1) self.connect_after("draw", self.on_draw) @@ -121,13 +121,10 @@ def reset_loading_progress(self): self.progress = 0.0 self.queue_draw() - def create_scaled_surface(self, path, for_button=False): - if for_button: - w = -1 if not self.keep_square else self.button_picture_height * self.scale - h = self.button_picture_height * self.scale - else: - w = self.menu_picture_width * self.scale - h = -1 if not self.keep_square else self.menu_picture_width * self.scale + def create_scaled_surface(self, path): + w = self.button_picture_width * self.scale + h = -1 if not self.keep_square else self.button_picture_width * self.scale + try: pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(path, w, h) if pixbuf: @@ -137,7 +134,7 @@ def create_scaled_surface(self, path, for_button=False): return None def set_picture_from_file (self, path): - surface = self.create_scaled_surface(path, for_button=True) + surface = self.create_scaled_surface(path) if surface: self.button_image.set_from_surface(surface) else: diff --git a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_themes.py b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_themes.py index afb8ed3692..85d1a10724 100755 --- a/files/usr/share/cinnamon/cinnamon-settings/modules/cs_themes.py +++ b/files/usr/share/cinnamon/cinnamon-settings/modules/cs_themes.py @@ -190,10 +190,10 @@ def on_module_selected(self): self.scale = self.window.get_scale_factor() - self.icon_chooser = self.create_button_chooser(self.settings, 'icon-theme', 'icons', 'icons', button_picture_height=ICON_SIZE, menu_picture_width=ICON_SIZE, num_cols=4, frame=False) - self.cursor_chooser = self.create_button_chooser(self.settings, 'cursor-theme', 'icons', 'cursors', button_picture_height=32, menu_picture_width=32, num_cols=4, frame=False) - self.theme_chooser = self.create_button_chooser(self.settings, 'gtk-theme', 'themes', 'gtk-3.0', button_picture_height=35, menu_picture_width=125, num_cols=4, frame=True) - self.cinnamon_chooser = self.create_button_chooser(self.cinnamon_settings, 'name', 'themes', 'cinnamon', button_picture_height=60, menu_picture_width=125*self.scale, num_cols=4, frame=True) + self.icon_chooser = self.create_button_chooser(self.settings, 'icon-theme', 'icons', 'icons', button_picture_width=ICON_SIZE, menu_picture_width=ICON_SIZE, num_cols=4, frame=False) + self.cursor_chooser = self.create_button_chooser(self.settings, 'cursor-theme', 'icons', 'cursors', button_picture_width=32, menu_picture_width=32, num_cols=4, frame=False) + self.theme_chooser = self.create_button_chooser(self.settings, 'gtk-theme', 'themes', 'gtk-3.0', button_picture_width=125, menu_picture_width=125, num_cols=4, frame=True) + self.cinnamon_chooser = self.create_button_chooser(self.cinnamon_settings, 'name', 'themes', 'cinnamon', button_picture_width=125, menu_picture_width=125*self.scale, num_cols=4, frame=True) selected_meta_theme = None @@ -743,19 +743,19 @@ def make_group(self, group_label, widget, add_widget_to_size_group=True): return box - def create_button_chooser(self, settings, key, path_prefix, path_suffix, button_picture_height, menu_picture_width, num_cols, frame): - chooser = PictureChooserButton(num_cols=num_cols, button_picture_height=button_picture_height, menu_picture_width=menu_picture_width, has_button_label=True, frame=frame) + def create_button_chooser(self, settings, key, path_prefix, path_suffix, button_picture_width, menu_picture_width, num_cols, frame): + chooser = PictureChooserButton(num_cols=num_cols, button_picture_width=button_picture_width, menu_picture_width=menu_picture_width, has_button_label=True, frame=frame) theme = settings.get_string(key) - self.set_button_chooser(chooser, theme, path_prefix, path_suffix, button_picture_height) + self.set_button_chooser(chooser, theme, path_prefix, path_suffix, button_picture_width) return chooser - def set_button_chooser(self, chooser, theme, path_prefix, path_suffix, button_picture_height): + def set_button_chooser(self, chooser, theme, path_prefix, path_suffix, button_picture_width): self.set_button_chooser_text(chooser, theme) if path_suffix == "cinnamon" and theme == "cinnamon": chooser.set_picture_from_file("/usr/share/cinnamon/theme/thumbnail.png") elif path_suffix == "icons": current_theme = Gtk.IconTheme.get_default() - folder = current_theme.lookup_icon_for_scale("folder", button_picture_height, self.window.get_scale_factor(), 0) + folder = current_theme.lookup_icon_for_scale("folder", button_picture_width, self.window.get_scale_factor(), 0) if folder is not None: path = folder.get_filename() chooser.set_picture_from_file(path)