Skip to content

Commit 0ba77b7

Browse files
committed
cs_themes: Don't show the 'Other themes' menu label, fix row logic.
Follow-up to 1c21371: - Uncategorized themes are listed first already, they don't need to be marked 'other' also. - Fix Chooser row accounting, use real separators once more. - Left-align the category label.
1 parent 1c21371 commit 0ba77b7

File tree

2 files changed

+16
-36
lines changed

2 files changed

+16
-36
lines changed

files/usr/share/cinnamon/cinnamon-settings/bin/ChooserButtonWidgets.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -198,33 +198,31 @@ def add_picture(self, path, callback, title=None, id=None):
198198
self.row = self.row + 1
199199

200200
def add_separator(self, label_text=None):
201-
self.row = self.row + 1
202-
203-
# Always use a MenuItem with label (or blank) instead of SeparatorMenuItem
204-
# to avoid gray background issues
205-
item = Gtk.MenuItem()
206-
item.set_sensitive(False)
207-
201+
if self.col > 0:
202+
self.row = self.row + 1
203+
self.col = 0
204+
208205
if label_text is not None:
206+
item = Gtk.MenuItem()
207+
item.set_sensitive(False)
209208
# Add centered, bold label
210209
label = Gtk.Label()
211210
label.set_markup(f"<b>{label_text}</b>")
212-
label.set_halign(Gtk.Align.CENTER)
211+
label.set_halign(Gtk.Align.START)
213212
item.add(label)
214213
else:
215-
# Add an empty label to create space without gray background
216-
label = Gtk.Label()
217-
label.set_text(" ")
218-
item.add(label)
219-
220-
self.menu.attach(item, 0, self.num_cols, self.row, self.row+1)
221-
222-
# Reset column position after separator
223-
self.col = 0
214+
item = Gtk.SeparatorMenuItem()
224215

225-
def add_menuitem(self, menuitem):
216+
self.menu.attach(item, 0, self.num_cols, self.row, self.row + 1)
226217
self.row = self.row + 1
218+
219+
def add_menuitem(self, menuitem):
220+
if self.col > 0:
221+
self.row = self.row + 1
222+
self.col = 0
223+
227224
self.menu.attach(menuitem, 0, self.num_cols, self.row, self.row+1)
225+
self.row = self.row + 1
228226

229227
class DateChooserButton(Gtk.Button):
230228
__gsignals__ = {

files/usr/share/cinnamon/cinnamon-settings/modules/cs_themes.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -737,15 +737,8 @@ def refresh_chooser(self, chooser, path_suffix, themes, callback):
737737
single_item_category_themes.sort(key=lambda x: (variant_sort_order.get(x['variant'], 3), x['name']))
738738
multi_item_category_themes.sort(key=lambda x: (x['category'], variant_sort_order.get(x['variant'], 3), x['name']))
739739

740-
# Reset column position at the start
741-
chooser.col = 0
742-
chooser.row = 0
743-
744740
# Display single-item category themes first, under an "Other Themes" label
745741
if single_item_category_themes:
746-
chooser.add_separator(_("Other Themes"))
747-
# Add an additional blank separator after the category label
748-
chooser.add_separator()
749742
for theme_info in single_item_category_themes:
750743
theme = theme_info['name']
751744
theme_path = None
@@ -793,8 +786,6 @@ def refresh_chooser(self, chooser, path_suffix, themes, callback):
793786
current_category = category
794787
current_variant = None # Reset variant when category changes
795788
chooser.add_separator(category) # Category name separator
796-
# Add an additional blank separator after the category label
797-
chooser.add_separator()
798789

799790
# Update current_variant, no separator here if it's just a variant change
800791
current_variant = variant
@@ -871,16 +862,9 @@ def refresh_chooser(self, chooser, path_suffix, themes, callback):
871862
# Sort both lists
872863
single_item_category_themes.sort(key=lambda x: (variant_sort_order.get(x['variant'], 3), x['name'].lower()))
873864
multi_item_category_themes.sort(key=lambda x: (x['category'].lower(), variant_sort_order.get(x['variant'], 3), x['name'].lower()))
874-
875-
# Reset column position at the start
876-
chooser.col = 0
877-
chooser.row = 0
878865

879866
# Display single-item category themes first, under an "Other Themes" label
880867
if single_item_category_themes:
881-
chooser.add_separator(_("Other Themes"))
882-
# Add an additional blank separator after the category label
883-
chooser.add_separator()
884868
for theme_info in single_item_category_themes:
885869
theme_name = theme_info['name']
886870
theme_path_val = theme_info['path'] # Renamed theme_path to avoid conflict
@@ -914,8 +898,6 @@ def refresh_chooser(self, chooser, path_suffix, themes, callback):
914898
current_category = category
915899
current_variant = None # Reset variant when category changes
916900
chooser.add_separator(category) # Category name separator
917-
# Add an additional blank separator after the category label
918-
chooser.add_separator()
919901

920902
# Update current_variant, no separator here if it's just a variant change
921903
current_variant = variant

0 commit comments

Comments
 (0)