From b19986a68513f0605dd003dad1e0759380f23835 Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Wed, 8 Feb 2023 19:17:56 -0500 Subject: settings_dialog: Use AdwPreferencesWindow and AdwActionRow AdwPreferencesWindow contains a nice API for preferences windows, and AdwActionRow is the widget to use for rows of preferences. --- main/src/ui/settings_dialog.vala | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'main/src') diff --git a/main/src/ui/settings_dialog.vala b/main/src/ui/settings_dialog.vala index e994e00c..5dc338bc 100644 --- a/main/src/ui/settings_dialog.vala +++ b/main/src/ui/settings_dialog.vala @@ -3,30 +3,30 @@ using Gtk; namespace Dino.Ui { [GtkTemplate (ui = "/im/dino/Dino/settings_dialog.ui")] -class SettingsDialog : Dialog { +class SettingsDialog : Adw.PreferencesWindow { - [GtkChild] private unowned CheckButton typing_checkbutton; - [GtkChild] private unowned CheckButton marker_checkbutton; - [GtkChild] private unowned CheckButton notification_checkbutton; - [GtkChild] private unowned CheckButton emoji_checkbutton; - [GtkChild] private unowned CheckButton check_spelling_checkbutton; + [GtkChild] private unowned Switch typing_switch; + [GtkChild] private unowned Switch marker_switch; + [GtkChild] private unowned Switch notification_switch; + [GtkChild] private unowned Switch emoji_switch; + [GtkChild] private unowned Switch check_spelling_switch; Dino.Entities.Settings settings = Dino.Application.get_default().settings; public SettingsDialog() { - Object(use_header_bar : Util.use_csd() ? 1 : 0); - - typing_checkbutton.active = settings.send_typing; - marker_checkbutton.active = settings.send_marker; - notification_checkbutton.active = settings.notifications; - emoji_checkbutton.active = settings.convert_utf8_smileys; - check_spelling_checkbutton.active = settings.check_spelling; - - typing_checkbutton.toggled.connect(() => { settings.send_typing = typing_checkbutton.active; } ); - marker_checkbutton.toggled.connect(() => { settings.send_marker = marker_checkbutton.active; } ); - notification_checkbutton.toggled.connect(() => { settings.notifications = notification_checkbutton.active; } ); - emoji_checkbutton.toggled.connect(() => { settings.convert_utf8_smileys = emoji_checkbutton.active; }); - check_spelling_checkbutton.toggled.connect(() => { settings.check_spelling = check_spelling_checkbutton.active; }); + Object(); + + typing_switch.active = settings.send_typing; + marker_switch.active = settings.send_marker; + notification_switch.active = settings.notifications; + emoji_switch.active = settings.convert_utf8_smileys; + check_spelling_switch.active = settings.check_spelling; + + typing_switch.activate.connect(() => { settings.send_typing = typing_switch.active; } ); + marker_switch.activate.connect(() => { settings.send_marker = marker_switch.active; } ); + notification_switch.activate.connect(() => { settings.notifications = notification_switch.active; } ); + emoji_switch.activate.connect(() => { settings.convert_utf8_smileys = emoji_switch.active; }); + check_spelling_switch.activate.connect(() => { settings.check_spelling = check_spelling_switch.active; }); } } -- cgit v1.2.3-54-g00ecf