aboutsummaryrefslogtreecommitdiff
path: root/main/src
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2026-03-29 13:18:57 +0200
committerfiaxh <git@lightrise.org>2026-03-29 13:22:11 +0200
commitaeb8032753dd004db68a0ee144d4f51b4fe3aa0a (patch)
treeca03c112d68bcc3084a6c039d93c5421459a4d4d /main/src
parent93c4a59869b34aebea6f82fd7ba955851bdeabd7 (diff)
Improve subtitle handling in preference rows
Diffstat (limited to 'main/src')
-rw-r--r--main/src/ui/util/data_forms.vala2
-rw-r--r--main/src/ui/util/preference_group.vala4
-rw-r--r--main/src/view_model/preferences_row.vala2
3 files changed, 5 insertions, 3 deletions
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<string> items = new ArrayList<string>();
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