From aeb8032753dd004db68a0ee144d4f51b4fe3aa0a Mon Sep 17 00:00:00 2001 From: fiaxh Date: Sun, 29 Mar 2026 13:18:57 +0200 Subject: Improve subtitle handling in preference rows --- main/src/ui/util/data_forms.vala | 2 +- main/src/ui/util/preference_group.vala | 4 ++-- main/src/view_model/preferences_row.vala | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'main') diff --git a/main/src/ui/util/data_forms.vala b/main/src/ui/util/data_forms.vala index dfdef15c..7fb9b87d 100644 --- a/main/src/ui/util/data_forms.vala +++ b/main/src/ui/util/data_forms.vala @@ -84,7 +84,7 @@ public static ViewModel.PreferencesRow.Any? get_data_form_field_view_model(DataF return null; case DataForms.DataForm.Type.LIST_SINGLE: DataForms.DataForm.ListSingleField list_single_field = field as DataForms.DataForm.ListSingleField; - var combobox_model = new ViewModel.PreferencesRow.ComboBox(); + var combobox_model = new ViewModel.PreferencesRow.ComboBox() { subtitle = desc }; for (int i = 0; i < list_single_field.options.size; i++) { DataForms.DataForm.Option option = list_single_field.options[i]; combobox_model.items.add(option.label); diff --git a/main/src/ui/util/preference_group.vala b/main/src/ui/util/preference_group.vala index c2b96f41..aa680e68 100644 --- a/main/src/ui/util/preference_group.vala +++ b/main/src/ui/util/preference_group.vala @@ -112,7 +112,7 @@ namespace Dino.Ui.Util { foreach (string text in combobox_view_model.items) { string_list.append(text); } - var view = new Adw.ComboRow() { title = combobox_view_model.title }; + var view = new Adw.ComboRow() { title = combobox_view_model.title, subtitle = combobox_view_model.subtitle ?? "" }; view.model = string_list; combobox_view_model.bind_property("active-item", view, "selected", BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); return view; @@ -120,7 +120,7 @@ namespace Dino.Ui.Util { var button_view_model = preferences_row as ViewModel.PreferencesRow.Button; if (button_view_model != null) { - var view = new Adw.ActionRow() { title = button_view_model.title }; + var view = new Adw.ActionRow() { title = button_view_model.title, subtitle = button_view_model.subtitle ?? "" }; var button = new Button.with_label(button_view_model.button_text) { valign = Align.CENTER }; view.add_suffix(button); button.clicked.connect(() => button_view_model.clicked()); diff --git a/main/src/view_model/preferences_row.vala b/main/src/view_model/preferences_row.vala index 7f388f06..4ca2f2df 100644 --- a/main/src/view_model/preferences_row.vala +++ b/main/src/view_model/preferences_row.vala @@ -31,12 +31,14 @@ namespace Dino.Ui.ViewModel.PreferencesRow { } public class ComboBox : Any { + public string subtitle { get; set; } public Gee.List items = new ArrayList(); public int active_item { get; set; } } public class Button : Any { public signal void clicked(); + public string subtitle { get; set; } public string button_text { get; set; } } } \ No newline at end of file -- cgit v1.3