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
1=== modified file 'src/Pages/Behaviour/settings.vala'
2--- src/Pages/Behaviour/settings.vala 2015-09-15 06:26:35 +0000
3+++ src/Pages/Behaviour/settings.vala 2017-02-12 00:45:57 +0000
4@@ -4,14 +4,7 @@
5 {
6 public uint delay { get; set; }
7 public uint repeat_interval { get; set; }
8- public bool repeat { get; set; }
9-
10- public void reset_all () {
11- schema.reset ("delay");
12- schema.reset ("repeat-interval");
13- schema.reset ("repeat");
14- }
15-
16+
17 public SettingsRepeat () {
18 base ("org.gnome.desktop.peripherals.keyboard");
19 }
20@@ -21,14 +14,7 @@
21 {
22 public int cursor_blink_time { get; set; }
23 public int cursor_blink_timeout { get; set; }
24- public bool cursor_blink { get; set; }
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+
33 public SettingsBlink () {
34 base ("org.gnome.desktop.interface");
35 }
36
37=== modified file 'src/Pages/behaviour.vala'
38--- src/Pages/behaviour.vala 2017-02-11 23:36:11 +0000
39+++ src/Pages/behaviour.vala 2017-02-12 00:45:57 +0000
40@@ -1,19 +1,24 @@
41-namespace Pantheon.Keyboard.Behaviour
42-{
43+namespace Pantheon.Keyboard.Behaviour {
44 Behaviour.SettingsRepeat settings_repeat;
45 Behaviour.SettingsBlink settings_blink;
46
47- class Page : Pantheon.Keyboard.AbstractPage
48- {
49- public override void reset ()
50- {
51- settings_repeat.reset_all ();
52- settings_blink.reset_all ();
53- return;
54- }
55-
56- public Page ()
57- {
58+ class Page : Pantheon.Keyboard.AbstractPage {
59+ Settings gsettings_blink;
60+ Settings gsettings_repeat;
61+
62+ public override void reset () {
63+ gsettings_blink.reset ("cursor-blink");
64+ gsettings_blink.reset ("cursor-blink-time");
65+ gsettings_blink.reset ("cursor-blink-timeout");
66+
67+ gsettings_repeat.reset ("delay");
68+ gsettings_repeat.reset ("repeat");
69+ gsettings_repeat.reset ("repeat-interval");
70+
71+ return;
72+ }
73+
74+ public Page () {
75 settings_repeat = new Behaviour.SettingsRepeat ();
76 settings_blink = new Behaviour.SettingsBlink ();
77
78@@ -24,7 +29,9 @@
79 var label_repeat_speed = new Gtk.Label (_("Interval:"));
80 var label_repeat_ms1 = new Gtk.Label (_("milliseconds"));
81 var label_repeat_ms2 = new Gtk.Label (_("milliseconds"));
82- var switch_repeat = new Gtk.Switch ();
83+
84+ var switch_repeat = new Gtk.Switch ();
85+ switch_repeat.halign = Gtk.Align.START;
86 switch_repeat.valign = Gtk.Align.CENTER;
87
88 var scale_repeat_delay = new Gtk.Scale.with_range (Gtk.Orientation.HORIZONTAL, 10, 1000, 1);
89@@ -39,7 +46,6 @@
90 label_repeat_ms2.halign = Gtk.Align.START;
91
92 // tweak other widgets
93- switch_repeat.halign = Gtk.Align.START;
94 scale_repeat_delay.hexpand = true;
95 scale_repeat_speed.hexpand = true;
96 scale_repeat_delay.draw_value = false;
97@@ -66,8 +72,6 @@
98 spin_repeat_delay.set_value (double_delay);
99 spin_repeat_speed.set_value (double_speed);
100
101- switch_repeat.active = settings_repeat.repeat;
102-
103 // connect signals
104 scale_repeat_delay.value_changed.connect (() => {
105 settings_repeat.delay = (uint) (spin_repeat_delay.adjustment.value = scale_repeat_delay.adjustment.value);
106@@ -93,14 +97,6 @@
107 scale_repeat_speed.adjustment.value = spin_repeat_speed.adjustment.value = (double) settings_repeat.repeat_interval;
108 } );
109
110- switch_repeat.notify["active"].connect (() => {
111- settings_repeat.repeat = switch_repeat.active;
112- });
113-
114- settings_repeat.changed["repeat"].connect (() => {
115- switch_repeat.active = settings_repeat.repeat;
116- });
117-
118 var label_blink = new Gtk.Label (_("Cursor Blinking:"));
119 label_blink.get_style_context ().add_class ("h4");
120 label_blink.margin_top = 24;
121@@ -109,7 +105,9 @@
122 var label_blink_time = new Gtk.Label (_("Duration:"));
123 var label_blink_ms = new Gtk.Label (_("milliseconds"));
124 var label_blink_s = new Gtk.Label (_("seconds"));
125- var switch_blink = new Gtk.Switch ();
126+
127+ var switch_blink = new Gtk.Switch ();
128+ switch_blink.halign = Gtk.Align.START;
129 switch_blink.valign = Gtk.Align.CENTER;
130 switch_blink.margin_top = 24;
131
132@@ -125,8 +123,6 @@
133 label_blink_s.halign = Gtk.Align.START;
134
135 // tweak other widgets
136- switch_blink.halign = Gtk.Align.START;
137- switch_blink.active = true;
138 scale_blink_speed.hexpand = true;
139 scale_blink_time.hexpand = true;
140 scale_blink_speed.draw_value = false;
141@@ -153,7 +149,11 @@
142 spin_blink_speed.set_value (double_blink_speed);
143 spin_blink_time.set_value (double_blink_time);
144
145- switch_blink.active = settings_blink.cursor_blink;
146+ gsettings_blink = new Settings ("org.gnome.desktop.interface");
147+ gsettings_blink.bind ("cursor-blink", switch_blink, "active", SettingsBindFlags.DEFAULT);
148+
149+ gsettings_repeat = new Settings ("org.gnome.desktop.peripherals.keyboard");
150+ gsettings_repeat.bind ("repeat", switch_repeat, "active", SettingsBindFlags.DEFAULT);
151
152 switch_blink.bind_property ("active", label_blink_speed, "sensitive", BindingFlags.DEFAULT);
153 switch_blink.bind_property ("active", label_blink_time, "sensitive", BindingFlags.DEFAULT);
154@@ -194,14 +194,6 @@
155 scale_blink_time.adjustment.value = spin_blink_time.adjustment.value = (double) settings_blink.cursor_blink_timeout;
156 } );
157
158- switch_blink.notify["active"].connect (() => {
159- settings_blink.cursor_blink = switch_blink.active;
160- });
161-
162- settings_blink.changed["cursor-blink"].connect (() => {
163- switch_blink.active = settings_blink.cursor_blink;
164- });
165-
166 /** Test Settings **/
167
168 var entry_test = new Gtk.Entry ();

Subscribers

People subscribed via source and target branches