Merge lp:~elementary-pantheon/switchboard-plug-keyboard/glib-settings into lp:~elementary-pantheon/switchboard-plug-keyboard/trunk

Proposed by Danielle Foré
Status: Merged
Approved by: Corentin Noël
Approved revision: 505
Merged at revision: 507
Proposed branch: lp:~elementary-pantheon/switchboard-plug-keyboard/glib-settings
Merge into: lp:~elementary-pantheon/switchboard-plug-keyboard/trunk
Diff against target: 168 lines (+31/-53)
2 files modified
src/Pages/Behaviour/settings.vala (+2/-16)
src/Pages/behaviour.vala (+29/-37)
To merge this branch: bzr merge lp:~elementary-pantheon/switchboard-plug-keyboard/glib-settings
Reviewer Review Type Date Requested Status
elementary Pantheon team Pending
Review via email: mp+317039@code.launchpad.net

Commit message

behaviour.vala:
* Introduce Glib.Settings and use it for reset ()
* Use Settings.bind to set the switch states
* Group switch properties
* Code style

Behaviour/settings.vala:
* Remove things made obsolete by using glib.settings

Description of the change

This branch introduces glib.settings. It makes a lot of the stuff in settings.vala unecessary and allows us to use settings bindings to save a few lines

I also touched a couple of style things that I was nearby.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/Pages/Behaviour/settings.vala'
--- src/Pages/Behaviour/settings.vala 2015-09-15 06:26:35 +0000
+++ src/Pages/Behaviour/settings.vala 2017-02-12 00:45:57 +0000
@@ -4,14 +4,7 @@
4 {4 {
5 public uint delay { get; set; }5 public uint delay { get; set; }
6 public uint repeat_interval { get; set; }6 public uint repeat_interval { get; set; }
7 public bool repeat { get; set; }7
8
9 public void reset_all () {
10 schema.reset ("delay");
11 schema.reset ("repeat-interval");
12 schema.reset ("repeat");
13 }
14
15 public SettingsRepeat () { 8 public SettingsRepeat () {
16 base ("org.gnome.desktop.peripherals.keyboard");9 base ("org.gnome.desktop.peripherals.keyboard");
17 }10 }
@@ -21,14 +14,7 @@
21 {14 {
22 public int cursor_blink_time { get; set; }15 public int cursor_blink_time { get; set; }
23 public int cursor_blink_timeout { get; set; }16 public int cursor_blink_timeout { get; set; }
24 public bool cursor_blink { get; set; }17
25
26 public void reset_all () {
27 schema.reset ("cursor-blink-time");
28 schema.reset ("cursor-blink-timeout");
29 schema.reset ("cursor-blink");
30 }
31
32 public SettingsBlink () { 18 public SettingsBlink () {
33 base ("org.gnome.desktop.interface");19 base ("org.gnome.desktop.interface");
34 }20 }
3521
=== modified file 'src/Pages/behaviour.vala'
--- src/Pages/behaviour.vala 2017-02-11 23:36:11 +0000
+++ src/Pages/behaviour.vala 2017-02-12 00:45:57 +0000
@@ -1,19 +1,24 @@
1namespace Pantheon.Keyboard.Behaviour1namespace Pantheon.Keyboard.Behaviour {
2{
3 Behaviour.SettingsRepeat settings_repeat;2 Behaviour.SettingsRepeat settings_repeat;
4 Behaviour.SettingsBlink settings_blink;3 Behaviour.SettingsBlink settings_blink;
54
6 class Page : Pantheon.Keyboard.AbstractPage5 class Page : Pantheon.Keyboard.AbstractPage {
7 {6 Settings gsettings_blink;
8 public override void reset ()7 Settings gsettings_repeat;
9 {8
10 settings_repeat.reset_all ();9 public override void reset () {
11 settings_blink.reset_all ();10 gsettings_blink.reset ("cursor-blink");
12 return;11 gsettings_blink.reset ("cursor-blink-time");
13 }12 gsettings_blink.reset ("cursor-blink-timeout");
1413
15 public Page ()14 gsettings_repeat.reset ("delay");
16 {15 gsettings_repeat.reset ("repeat");
16 gsettings_repeat.reset ("repeat-interval");
17
18 return;
19 }
20
21 public Page () {
17 settings_repeat = new Behaviour.SettingsRepeat ();22 settings_repeat = new Behaviour.SettingsRepeat ();
18 settings_blink = new Behaviour.SettingsBlink ();23 settings_blink = new Behaviour.SettingsBlink ();
1924
@@ -24,7 +29,9 @@
24 var label_repeat_speed = new Gtk.Label (_("Interval:"));29 var label_repeat_speed = new Gtk.Label (_("Interval:"));
25 var label_repeat_ms1 = new Gtk.Label (_("milliseconds"));30 var label_repeat_ms1 = new Gtk.Label (_("milliseconds"));
26 var label_repeat_ms2 = new Gtk.Label (_("milliseconds"));31 var label_repeat_ms2 = new Gtk.Label (_("milliseconds"));
27 var switch_repeat = new Gtk.Switch ();32
33 var switch_repeat = new Gtk.Switch ();
34 switch_repeat.halign = Gtk.Align.START;
28 switch_repeat.valign = Gtk.Align.CENTER;35 switch_repeat.valign = Gtk.Align.CENTER;
2936
30 var scale_repeat_delay = new Gtk.Scale.with_range (Gtk.Orientation.HORIZONTAL, 10, 1000, 1);37 var scale_repeat_delay = new Gtk.Scale.with_range (Gtk.Orientation.HORIZONTAL, 10, 1000, 1);
@@ -39,7 +46,6 @@
39 label_repeat_ms2.halign = Gtk.Align.START;46 label_repeat_ms2.halign = Gtk.Align.START;
4047
41 // tweak other widgets48 // tweak other widgets
42 switch_repeat.halign = Gtk.Align.START;
43 scale_repeat_delay.hexpand = true;49 scale_repeat_delay.hexpand = true;
44 scale_repeat_speed.hexpand = true;50 scale_repeat_speed.hexpand = true;
45 scale_repeat_delay.draw_value = false;51 scale_repeat_delay.draw_value = false;
@@ -66,8 +72,6 @@
66 spin_repeat_delay.set_value (double_delay);72 spin_repeat_delay.set_value (double_delay);
67 spin_repeat_speed.set_value (double_speed);73 spin_repeat_speed.set_value (double_speed);
6874
69 switch_repeat.active = settings_repeat.repeat;
70
71 // connect signals75 // connect signals
72 scale_repeat_delay.value_changed.connect (() => {76 scale_repeat_delay.value_changed.connect (() => {
73 settings_repeat.delay = (uint) (spin_repeat_delay.adjustment.value = scale_repeat_delay.adjustment.value);77 settings_repeat.delay = (uint) (spin_repeat_delay.adjustment.value = scale_repeat_delay.adjustment.value);
@@ -93,14 +97,6 @@
93 scale_repeat_speed.adjustment.value = spin_repeat_speed.adjustment.value = (double) settings_repeat.repeat_interval;97 scale_repeat_speed.adjustment.value = spin_repeat_speed.adjustment.value = (double) settings_repeat.repeat_interval;
94 } );98 } );
9599
96 switch_repeat.notify["active"].connect (() => {
97 settings_repeat.repeat = switch_repeat.active;
98 });
99
100 settings_repeat.changed["repeat"].connect (() => {
101 switch_repeat.active = settings_repeat.repeat;
102 });
103
104 var label_blink = new Gtk.Label (_("Cursor Blinking:"));100 var label_blink = new Gtk.Label (_("Cursor Blinking:"));
105 label_blink.get_style_context ().add_class ("h4");101 label_blink.get_style_context ().add_class ("h4");
106 label_blink.margin_top = 24;102 label_blink.margin_top = 24;
@@ -109,7 +105,9 @@
109 var label_blink_time = new Gtk.Label (_("Duration:"));105 var label_blink_time = new Gtk.Label (_("Duration:"));
110 var label_blink_ms = new Gtk.Label (_("milliseconds"));106 var label_blink_ms = new Gtk.Label (_("milliseconds"));
111 var label_blink_s = new Gtk.Label (_("seconds"));107 var label_blink_s = new Gtk.Label (_("seconds"));
112 var switch_blink = new Gtk.Switch ();108
109 var switch_blink = new Gtk.Switch ();
110 switch_blink.halign = Gtk.Align.START;
113 switch_blink.valign = Gtk.Align.CENTER;111 switch_blink.valign = Gtk.Align.CENTER;
114 switch_blink.margin_top = 24;112 switch_blink.margin_top = 24;
115113
@@ -125,8 +123,6 @@
125 label_blink_s.halign = Gtk.Align.START;123 label_blink_s.halign = Gtk.Align.START;
126124
127 // tweak other widgets125 // tweak other widgets
128 switch_blink.halign = Gtk.Align.START;
129 switch_blink.active = true;
130 scale_blink_speed.hexpand = true;126 scale_blink_speed.hexpand = true;
131 scale_blink_time.hexpand = true;127 scale_blink_time.hexpand = true;
132 scale_blink_speed.draw_value = false;128 scale_blink_speed.draw_value = false;
@@ -153,7 +149,11 @@
153 spin_blink_speed.set_value (double_blink_speed);149 spin_blink_speed.set_value (double_blink_speed);
154 spin_blink_time.set_value (double_blink_time);150 spin_blink_time.set_value (double_blink_time);
155151
156 switch_blink.active = settings_blink.cursor_blink;152 gsettings_blink = new Settings ("org.gnome.desktop.interface");
153 gsettings_blink.bind ("cursor-blink", switch_blink, "active", SettingsBindFlags.DEFAULT);
154
155 gsettings_repeat = new Settings ("org.gnome.desktop.peripherals.keyboard");
156 gsettings_repeat.bind ("repeat", switch_repeat, "active", SettingsBindFlags.DEFAULT);
157157
158 switch_blink.bind_property ("active", label_blink_speed, "sensitive", BindingFlags.DEFAULT);158 switch_blink.bind_property ("active", label_blink_speed, "sensitive", BindingFlags.DEFAULT);
159 switch_blink.bind_property ("active", label_blink_time, "sensitive", BindingFlags.DEFAULT);159 switch_blink.bind_property ("active", label_blink_time, "sensitive", BindingFlags.DEFAULT);
@@ -194,14 +194,6 @@
194 scale_blink_time.adjustment.value = spin_blink_time.adjustment.value = (double) settings_blink.cursor_blink_timeout;194 scale_blink_time.adjustment.value = spin_blink_time.adjustment.value = (double) settings_blink.cursor_blink_timeout;
195 } );195 } );
196196
197 switch_blink.notify["active"].connect (() => {
198 settings_blink.cursor_blink = switch_blink.active;
199 });
200
201 settings_blink.changed["cursor-blink"].connect (() => {
202 switch_blink.active = settings_blink.cursor_blink;
203 });
204
205 /** Test Settings **/197 /** Test Settings **/
206198
207 var entry_test = new Gtk.Entry ();199 var entry_test = new Gtk.Entry ();

Subscribers

People subscribed via source and target branches