Merge lp:~muktupavels/compiz/gwd-no-g-object-get-with-settings into lp:compiz/0.9.12
- gwd-no-g-object-get-with-settings
- Merge into 0.9.12
Status: | Merged |
---|---|
Approved by: | Marco Trevisan (Treviño) |
Approved revision: | 4060 |
Merged at revision: | 4043 |
Proposed branch: | lp:~muktupavels/compiz/gwd-no-g-object-get-with-settings |
Merge into: | lp:compiz/0.9.12 |
Prerequisite: | lp:~muktupavels/compiz/gwd-remove-cairo-window-decoration-util |
Diff against target: |
1553 lines (+355/-740) 10 files modified
gtk/window-decorator/blurprops.c (+1/-3) gtk/window-decorator/decorator.c (+2/-2) gtk/window-decorator/events.c (+7/-11) gtk/window-decorator/frames.c (+2/-3) gtk/window-decorator/gwd-settings.c (+93/-226) gtk/window-decorator/gwd-settings.h (+103/-66) gtk/window-decorator/gwd-theme-metacity.c (+7/-11) gtk/window-decorator/gwd-theme.c (+4/-6) gtk/window-decorator/tests/test_gwd_settings.cpp (+134/-410) gtk/window-decorator/wnck.c (+2/-2) |
To merge this branch: | bzr merge lp:~muktupavels/compiz/gwd-no-g-object-get-with-settings |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sam Spilsbury | Approve | ||
Review via email: mp+295389@code.launchpad.net |
Commit message
gtk-window-
Description of the change
Stop using g_object_get with GWDSettings.
As side effect this fixes few memory leaks. g_object_get returns newly allocated string that was never freed.
Alberts Muktupāvels (muktupavels) wrote : | # |
1) gwd_settings_
So removing these checks does not change function behaviour.
2) get_*_shadow will never return NULL. Also how could I add assert if shadow is no longer pointer?
Sam Spilsbury (smspillaz) wrote : | # |
> 1) gwd_settings_
> called with values from GSettings. Reason to remove NULL checks are simple -
> because button_layout and titlebar_font will be never NULL.
> g_settings_
> empty, but not NULL.
>
> So removing these checks does not change function behaviour.
Makes sense - thanks for clarifying :)
>
> 2) get_*_shadow will never return NULL. Also how could I add assert if shadow
> is no longer pointer?
Ah, I missed the part where it was converted to return the structure itself as opposed to a pointer.
In that case, there's no need to assert as you mentioned.
LGTM.
Preview Diff
1 | === modified file 'gtk/window-decorator/blurprops.c' |
2 | --- gtk/window-decorator/blurprops.c 2016-05-21 20:35:23 +0000 |
3 | +++ gtk/window-decorator/blurprops.c 2016-05-21 20:35:24 +0000 |
4 | @@ -36,13 +36,11 @@ |
5 | int right_offset) |
6 | { |
7 | GWDSettings *settings = gwd_theme_get_settings (gwd_theme); |
8 | + gint blur_type = gwd_settings_get_blur_type (settings); |
9 | Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); |
10 | long *data = NULL; |
11 | int size = 0; |
12 | - gint blur_type; |
13 | |
14 | - g_object_get (settings, "blur", &blur_type, NULL); |
15 | - |
16 | if (blur_type != BLUR_TYPE_ALL) |
17 | { |
18 | bottom_region = NULL; |
19 | |
20 | === modified file 'gtk/window-decorator/decorator.c' |
21 | --- gtk/window-decorator/decorator.c 2016-05-21 20:35:23 +0000 |
22 | +++ gtk/window-decorator/decorator.c 2016-05-21 20:35:24 +0000 |
23 | @@ -24,6 +24,7 @@ |
24 | */ |
25 | |
26 | #include "gtk-window-decorator.h" |
27 | +#include "gwd-settings.h" |
28 | #include "gwd-theme-cairo.h" |
29 | |
30 | static void |
31 | @@ -55,8 +56,7 @@ |
32 | get_titlebar_font (decor_frame_t *frame) |
33 | { |
34 | GWDSettings *settings = gwd_theme_get_settings (gwd_theme); |
35 | - const gchar *titlebar_font; |
36 | - g_object_get (settings, "titlebar-font", &titlebar_font, NULL); |
37 | + const gchar *titlebar_font = gwd_settings_get_titlebar_font (settings); |
38 | |
39 | /* Using system font */ |
40 | if (!titlebar_font) |
41 | |
42 | === modified file 'gtk/window-decorator/events.c' |
43 | --- gtk/window-decorator/events.c 2016-05-21 20:35:23 +0000 |
44 | +++ gtk/window-decorator/events.c 2016-05-21 20:35:24 +0000 |
45 | @@ -110,11 +110,9 @@ |
46 | char *tooltip) |
47 | { |
48 | GWDSettings *settings = gwd_theme_get_settings (gwd_theme); |
49 | + gboolean use_tooltips = gwd_settings_get_use_tooltips (settings); |
50 | decor_t *d = g_object_get_data (G_OBJECT (win), "decor"); |
51 | guint state = d->button_states[button]; |
52 | - gboolean use_tooltips = FALSE; |
53 | - |
54 | - g_object_get (settings, "use-tooltips", &use_tooltips, NULL); |
55 | |
56 | if (use_tooltips) |
57 | handle_tooltip_event (win, gtkwd_event, gtkwd_type, state, tooltip); |
58 | @@ -459,9 +457,7 @@ |
59 | unsigned int button) |
60 | { |
61 | GWDSettings *settings = gwd_theme_get_settings (gwd_theme); |
62 | - gint wheel_action = WHEEL_ACTION_NONE; |
63 | - |
64 | - g_object_get (settings, "mouse-wheel-action", &wheel_action, NULL); |
65 | + gint wheel_action = gwd_settings_get_mouse_wheel_action (settings); |
66 | |
67 | switch (wheel_action) { |
68 | case WHEEL_ACTION_SHADE: |
69 | @@ -514,7 +510,7 @@ |
70 | dist (gtkwd_event->x, gtkwd_event->y, |
71 | last_button_x, last_button_y) < DOUBLE_CLICK_DISTANCE) |
72 | { |
73 | - g_object_get (settings, "titlebar-double-click-action", &titlebar_action, NULL); |
74 | + titlebar_action = gwd_settings_get_titlebar_double_click_action (settings); |
75 | handle_title_button_event (win, titlebar_action, |
76 | gtkwd_event); |
77 | |
78 | @@ -539,13 +535,13 @@ |
79 | } |
80 | else if (gtkwd_event->button == 2) |
81 | { |
82 | - g_object_get (settings, "titlebar-middle-click-action", &titlebar_action, NULL); |
83 | + titlebar_action = gwd_settings_get_titlebar_middle_click_action (settings); |
84 | handle_title_button_event (win, titlebar_action, |
85 | gtkwd_event); |
86 | } |
87 | else if (gtkwd_event->button == 3) |
88 | { |
89 | - g_object_get (settings, "titlebar-right-click-action", &titlebar_action, NULL); |
90 | + titlebar_action = gwd_settings_get_titlebar_right_click_action (settings); |
91 | handle_title_button_event (win, titlebar_action, |
92 | gtkwd_event); |
93 | } |
94 | @@ -616,12 +612,12 @@ |
95 | restack_window (win, Above); |
96 | break; |
97 | case 2: |
98 | - g_object_get (settings, "titlebar-middle-click-action", &titlebar_action, NULL); |
99 | + titlebar_action = gwd_settings_get_titlebar_middle_click_action (settings); |
100 | handle_title_button_event (win, titlebar_action, |
101 | gtkwd_event); |
102 | break; |
103 | case 3: |
104 | - g_object_get (settings, "titlebar-right-click-action", &titlebar_action, NULL); |
105 | + titlebar_action = gwd_settings_get_titlebar_right_click_action (settings); |
106 | handle_title_button_event (win, titlebar_action, |
107 | gtkwd_event); |
108 | break; |
109 | |
110 | === modified file 'gtk/window-decorator/frames.c' |
111 | --- gtk/window-decorator/frames.c 2016-05-21 20:35:23 +0000 |
112 | +++ gtk/window-decorator/frames.c 2016-05-21 20:35:24 +0000 |
113 | @@ -21,6 +21,7 @@ |
114 | */ |
115 | |
116 | #include "gtk-window-decorator.h" |
117 | +#include "gwd-settings.h" |
118 | |
119 | typedef struct _decor_frame_type_info |
120 | { |
121 | @@ -264,17 +265,15 @@ |
122 | decor_frame_refresh (decor_frame_t *frame) |
123 | { |
124 | GWDSettings *settings = gwd_theme_get_settings (gwd_theme); |
125 | + const gchar *titlebar_font = gwd_settings_get_titlebar_font (settings); |
126 | decor_shadow_options_t active_o, inactive_o; |
127 | decor_shadow_info_t *info; |
128 | - const gchar *titlebar_font = NULL; |
129 | |
130 | gwd_decor_frame_ref (frame); |
131 | |
132 | update_style (frame->style_window_rgba); |
133 | update_style (frame->style_window_rgb); |
134 | |
135 | - g_object_get (settings, "titlebar-font", &titlebar_font, NULL); |
136 | - |
137 | set_frame_scale (frame, titlebar_font); |
138 | |
139 | titlebar_font = NULL; |
140 | |
141 | === modified file 'gtk/window-decorator/gwd-settings.c' |
142 | --- gtk/window-decorator/gwd-settings.c 2016-05-21 20:35:23 +0000 |
143 | +++ gtk/window-decorator/gwd-settings.c 2016-05-21 20:35:24 +0000 |
144 | @@ -26,7 +26,6 @@ |
145 | #include <stdio.h> |
146 | |
147 | #include "gwd-settings.h" |
148 | -#include "decoration.h" |
149 | |
150 | const gboolean USE_TOOLTIPS_DEFAULT = FALSE; |
151 | |
152 | @@ -71,11 +70,13 @@ |
153 | { |
154 | GObject parent; |
155 | |
156 | + gint blur_type; |
157 | + gchar *metacity_theme; |
158 | + guint cmdline_opts; |
159 | + |
160 | decor_shadow_options_t active_shadow; |
161 | decor_shadow_options_t inactive_shadow; |
162 | gboolean use_tooltips; |
163 | - gint blur_type; |
164 | - gchar *metacity_theme; |
165 | gdouble metacity_active_opacity; |
166 | gdouble metacity_inactive_opacity; |
167 | gboolean metacity_active_shade_opacity; |
168 | @@ -87,8 +88,6 @@ |
169 | gint mouse_wheel_action; |
170 | gchar *titlebar_font; |
171 | |
172 | - guint cmdline_opts; |
173 | - |
174 | guint freeze_count; |
175 | GList *notify_funcs; |
176 | }; |
177 | @@ -97,27 +96,14 @@ |
178 | { |
179 | PROP_0, |
180 | |
181 | - PROP_ACTIVE_SHADOW, |
182 | - PROP_INACTIVE_SHADOW, |
183 | - PROP_USE_TOOLTIPS, |
184 | - PROP_BLUR, |
185 | + PROP_BLUR_TYPE, |
186 | PROP_METACITY_THEME, |
187 | - PROP_ACTIVE_OPACITY, |
188 | - PROP_INACTIVE_OPACITY, |
189 | - PROP_ACTIVE_SHADE_OPACITY, |
190 | - PROP_INACTIVE_SHADE_OPACITY, |
191 | - PROP_BUTTON_LAYOUT, |
192 | - PROP_TITLEBAR_ACTION_DOUBLE_CLICK, |
193 | - PROP_TITLEBAR_ACTION_MIDDLE_CLICK, |
194 | - PROP_TITLEBAR_ACTION_RIGHT_CLICK, |
195 | - PROP_MOUSE_WHEEL_ACTION, |
196 | - PROP_TITLEBAR_FONT, |
197 | PROP_CMDLINE_OPTIONS, |
198 | |
199 | LAST_PROP |
200 | }; |
201 | |
202 | -static GParamSpec *settings_properties[LAST_PROP] = { NULL }; |
203 | +static GParamSpec *properties[LAST_PROP] = { NULL }; |
204 | |
205 | enum |
206 | { |
207 | @@ -281,7 +267,7 @@ |
208 | settings->cmdline_opts = g_value_get_int (value); |
209 | break; |
210 | |
211 | - case PROP_BLUR: |
212 | + case PROP_BLUR_TYPE: |
213 | settings->blur_type = g_value_get_int (value); |
214 | break; |
215 | |
216 | @@ -297,219 +283,37 @@ |
217 | } |
218 | |
219 | static void |
220 | -gwd_settings_get_property (GObject *object, |
221 | - guint property_id, |
222 | - GValue *value, |
223 | - GParamSpec *pspec) |
224 | -{ |
225 | - GWDSettings *settings; |
226 | - |
227 | - settings = GWD_SETTINGS (object); |
228 | - |
229 | - switch (property_id) { |
230 | - case PROP_ACTIVE_SHADOW: |
231 | - g_value_set_pointer (value, &settings->active_shadow); |
232 | - break; |
233 | - |
234 | - case PROP_INACTIVE_SHADOW: |
235 | - g_value_set_pointer (value, &settings->inactive_shadow); |
236 | - break; |
237 | - |
238 | - case PROP_USE_TOOLTIPS: |
239 | - g_value_set_boolean (value, settings->use_tooltips); |
240 | - break; |
241 | - |
242 | - case PROP_BLUR: |
243 | - g_value_set_int (value, settings->blur_type); |
244 | - break; |
245 | - |
246 | - case PROP_METACITY_THEME: |
247 | - g_value_set_string (value, settings->metacity_theme); |
248 | - break; |
249 | - |
250 | - case PROP_ACTIVE_OPACITY: |
251 | - g_value_set_double (value, settings->metacity_active_opacity); |
252 | - break; |
253 | - |
254 | - case PROP_INACTIVE_OPACITY: |
255 | - g_value_set_double (value, settings->metacity_inactive_opacity); |
256 | - break; |
257 | - |
258 | - case PROP_ACTIVE_SHADE_OPACITY: |
259 | - g_value_set_boolean (value, settings->metacity_active_shade_opacity); |
260 | - break; |
261 | - |
262 | - case PROP_INACTIVE_SHADE_OPACITY: |
263 | - g_value_set_boolean (value, settings->metacity_inactive_shade_opacity); |
264 | - break; |
265 | - |
266 | - case PROP_BUTTON_LAYOUT: |
267 | - g_value_set_string (value, settings->metacity_button_layout); |
268 | - break; |
269 | - |
270 | - case PROP_TITLEBAR_ACTION_DOUBLE_CLICK: |
271 | - g_value_set_int (value, settings->titlebar_double_click_action); |
272 | - break; |
273 | - |
274 | - case PROP_TITLEBAR_ACTION_MIDDLE_CLICK: |
275 | - g_value_set_int (value, settings->titlebar_middle_click_action); |
276 | - break; |
277 | - |
278 | - case PROP_TITLEBAR_ACTION_RIGHT_CLICK: |
279 | - g_value_set_int (value, settings->titlebar_right_click_action); |
280 | - break; |
281 | - |
282 | - case PROP_MOUSE_WHEEL_ACTION: |
283 | - g_value_set_int (value, settings->mouse_wheel_action); |
284 | - break; |
285 | - |
286 | - case PROP_TITLEBAR_FONT: |
287 | - g_value_set_string (value, settings->titlebar_font); |
288 | - break; |
289 | - |
290 | - default: |
291 | - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); |
292 | - break; |
293 | - } |
294 | -} |
295 | - |
296 | -static void |
297 | gwd_settings_class_init (GWDSettingsClass *settings_class) |
298 | { |
299 | - GObjectClass *object_class; |
300 | - |
301 | - object_class = G_OBJECT_CLASS (settings_class); |
302 | + GObjectClass *object_class = G_OBJECT_CLASS (settings_class); |
303 | |
304 | object_class->finalize = gwd_settings_finalize; |
305 | - object_class->get_property = gwd_settings_get_property; |
306 | object_class->set_property = gwd_settings_set_property; |
307 | |
308 | - settings_properties[PROP_ACTIVE_SHADOW] = |
309 | - g_param_spec_pointer ("active-shadow", |
310 | - "Active Shadow", |
311 | - "Active Shadow Settings", |
312 | - G_PARAM_READABLE); |
313 | - |
314 | - settings_properties[PROP_INACTIVE_SHADOW] = |
315 | - g_param_spec_pointer ("inactive-shadow", |
316 | - "Inactive Shadow", |
317 | - "Inactive Shadow", |
318 | - G_PARAM_READABLE); |
319 | - |
320 | - settings_properties[PROP_USE_TOOLTIPS] = |
321 | - g_param_spec_boolean ("use-tooltips", |
322 | - "Use Tooltips", |
323 | - "Use Tooltips Setting", |
324 | - USE_TOOLTIPS_DEFAULT, |
325 | - G_PARAM_READABLE); |
326 | - |
327 | - settings_properties[PROP_BLUR] = |
328 | - g_param_spec_int ("blur", |
329 | + properties[PROP_BLUR_TYPE] = |
330 | + g_param_spec_int ("blur-type", |
331 | "Blur Type", |
332 | "Blur type property", |
333 | BLUR_TYPE_NONE, |
334 | BLUR_TYPE_ALL, |
335 | BLUR_TYPE_NONE, |
336 | - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); |
337 | + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY); |
338 | |
339 | - settings_properties[PROP_METACITY_THEME] = |
340 | + properties[PROP_METACITY_THEME] = |
341 | g_param_spec_string ("metacity-theme", |
342 | "Metacity Theme", |
343 | "Metacity Theme Setting", |
344 | METACITY_THEME_DEFAULT, |
345 | - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); |
346 | - |
347 | - settings_properties[PROP_ACTIVE_OPACITY] = |
348 | - g_param_spec_double ("metacity-active-opacity", |
349 | - "Metacity Active Opacity", |
350 | - "Metacity Active Opacity", |
351 | - 0.0, |
352 | - 1.0, |
353 | - METACITY_ACTIVE_OPACITY_DEFAULT, |
354 | - G_PARAM_READABLE); |
355 | - |
356 | - settings_properties[PROP_INACTIVE_OPACITY] = |
357 | - g_param_spec_double ("metacity-inactive-opacity", |
358 | - "Metacity Inactive Opacity", |
359 | - "Metacity Inactive Opacity", |
360 | - 0.0, |
361 | - 1.0, |
362 | - METACITY_INACTIVE_OPACITY_DEFAULT, |
363 | - G_PARAM_READABLE); |
364 | - |
365 | - settings_properties[PROP_ACTIVE_SHADE_OPACITY] = |
366 | - g_param_spec_boolean ("metacity-active-shade-opacity", |
367 | - "Metacity Active Shade Opacity", |
368 | - "Metacity Active Shade Opacity", |
369 | - METACITY_ACTIVE_SHADE_OPACITY_DEFAULT, |
370 | - G_PARAM_READABLE); |
371 | - |
372 | - settings_properties[PROP_INACTIVE_SHADE_OPACITY] = |
373 | - g_param_spec_boolean ("metacity-inactive-shade-opacity", |
374 | - "Metacity Inactive Shade Opacity", |
375 | - "Metacity Inactive Shade Opacity", |
376 | - METACITY_INACTIVE_SHADE_OPACITY_DEFAULT, |
377 | - G_PARAM_READABLE); |
378 | - |
379 | - settings_properties[PROP_BUTTON_LAYOUT] = |
380 | - g_param_spec_string ("metacity-button-layout", |
381 | - "Metacity Button Layout", |
382 | - "Metacity Button Layout", |
383 | - METACITY_BUTTON_LAYOUT_DEFAULT, |
384 | - G_PARAM_READABLE); |
385 | - |
386 | - settings_properties[PROP_TITLEBAR_ACTION_DOUBLE_CLICK] = |
387 | - g_param_spec_int ("titlebar-double-click-action", |
388 | - "Titlebar Action Double Click", |
389 | - "Titlebar Action Double Click", |
390 | - CLICK_ACTION_NONE, |
391 | - CLICK_ACTION_MENU, |
392 | - DOUBLE_CLICK_ACTION_DEFAULT, |
393 | - G_PARAM_READABLE); |
394 | - |
395 | - settings_properties[PROP_TITLEBAR_ACTION_MIDDLE_CLICK] = |
396 | - g_param_spec_int ("titlebar-middle-click-action", |
397 | - "Titlebar Action Middle Click", |
398 | - "Titlebar Action Middle Click", |
399 | - CLICK_ACTION_NONE, |
400 | - CLICK_ACTION_MENU, |
401 | - MIDDLE_CLICK_ACTION_DEFAULT, |
402 | - G_PARAM_READABLE); |
403 | - |
404 | - settings_properties[PROP_TITLEBAR_ACTION_RIGHT_CLICK] = |
405 | - g_param_spec_int ("titlebar-right-click-action", |
406 | - "Titlebar Action Right Click", |
407 | - "Titlebar Action Right Click", |
408 | - CLICK_ACTION_NONE, |
409 | - CLICK_ACTION_MENU, |
410 | - RIGHT_CLICK_ACTION_DEFAULT, |
411 | - G_PARAM_READABLE); |
412 | - |
413 | - settings_properties[PROP_MOUSE_WHEEL_ACTION] = |
414 | - g_param_spec_int ("mouse-wheel-action", |
415 | - "Mouse Wheel Action", |
416 | - "Mouse Wheel Action", |
417 | - WHEEL_ACTION_NONE, |
418 | - WHEEL_ACTION_SHADE, |
419 | - WHEEL_ACTION_DEFAULT, |
420 | - G_PARAM_READABLE); |
421 | - |
422 | - settings_properties[PROP_TITLEBAR_FONT] = |
423 | - g_param_spec_string ("titlebar-font", |
424 | - "Titlebar Font", |
425 | - "Titlebar Font", |
426 | - TITLEBAR_FONT_DEFAULT, |
427 | - G_PARAM_READABLE); |
428 | - |
429 | - settings_properties[PROP_CMDLINE_OPTIONS] = |
430 | + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY); |
431 | + |
432 | + properties[PROP_CMDLINE_OPTIONS] = |
433 | g_param_spec_int ("cmdline-options", |
434 | "Command line options", |
435 | "Which options were specified on the command line", |
436 | 0, G_MAXINT32, 0, |
437 | - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); |
438 | + G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY); |
439 | |
440 | - g_object_class_install_properties (object_class, LAST_PROP, |
441 | - settings_properties); |
442 | + g_object_class_install_properties (object_class, LAST_PROP, properties); |
443 | |
444 | settings_signals[UPDATE_DECORATIONS] = |
445 | g_signal_new ("update-decorations", |
446 | @@ -588,12 +392,18 @@ |
447 | cmdline_opts |= CMDLINE_THEME; |
448 | |
449 | return g_object_new (GWD_TYPE_SETTINGS, |
450 | - "blur", blur != BLUR_TYPE_UNSET ? blur : BLUR_TYPE_DEFAULT, |
451 | + "blur-type", blur != BLUR_TYPE_UNSET ? blur : BLUR_TYPE_DEFAULT, |
452 | "metacity-theme", metacity_theme ? metacity_theme : METACITY_THEME_DEFAULT, |
453 | "cmdline-options", cmdline_opts, |
454 | NULL); |
455 | } |
456 | |
457 | +gint |
458 | +gwd_settings_get_blur_type (GWDSettings *settings) |
459 | +{ |
460 | + return settings->blur_type; |
461 | +} |
462 | + |
463 | const gchar * |
464 | gwd_settings_get_metacity_button_layout (GWDSettings *settings) |
465 | { |
466 | @@ -612,6 +422,72 @@ |
467 | return settings->titlebar_font; |
468 | } |
469 | |
470 | +decor_shadow_options_t |
471 | +gwd_settings_get_active_shadow (GWDSettings *settings) |
472 | +{ |
473 | + return settings->active_shadow; |
474 | +} |
475 | + |
476 | +decor_shadow_options_t |
477 | +gwd_settings_get_inactive_shadow (GWDSettings *settings) |
478 | +{ |
479 | + return settings->inactive_shadow; |
480 | +} |
481 | + |
482 | +gboolean |
483 | +gwd_settings_get_use_tooltips (GWDSettings *settings) |
484 | +{ |
485 | + return settings->use_tooltips; |
486 | +} |
487 | + |
488 | +gdouble |
489 | +gwd_settings_get_metacity_active_opacity (GWDSettings *settings) |
490 | +{ |
491 | + return settings->metacity_active_opacity; |
492 | +} |
493 | + |
494 | +gdouble |
495 | +gwd_settings_get_metacity_inactive_opacity (GWDSettings *settings) |
496 | +{ |
497 | + return settings->metacity_inactive_opacity; |
498 | +} |
499 | + |
500 | +gboolean |
501 | +gwd_settings_get_metacity_active_shade_opacity (GWDSettings *settings) |
502 | +{ |
503 | + return settings->metacity_active_shade_opacity; |
504 | +} |
505 | + |
506 | +gboolean |
507 | +gwd_settings_get_metacity_inactive_shade_opacity (GWDSettings *settings) |
508 | +{ |
509 | + return settings->metacity_inactive_shade_opacity; |
510 | +} |
511 | + |
512 | +gint |
513 | +gwd_settings_get_titlebar_double_click_action (GWDSettings *settings) |
514 | +{ |
515 | + return settings->titlebar_double_click_action; |
516 | +} |
517 | + |
518 | +gint |
519 | +gwd_settings_get_titlebar_middle_click_action (GWDSettings *settings) |
520 | +{ |
521 | + return settings->titlebar_middle_click_action; |
522 | +} |
523 | + |
524 | +gint |
525 | +gwd_settings_get_titlebar_right_click_action (GWDSettings *settings) |
526 | +{ |
527 | + return settings->titlebar_right_click_action; |
528 | +} |
529 | + |
530 | +gint |
531 | +gwd_settings_get_mouse_wheel_action (GWDSettings *settings) |
532 | +{ |
533 | + return settings->mouse_wheel_action; |
534 | +} |
535 | + |
536 | void |
537 | gwd_settings_freeze_updates (GWDSettings *settings) |
538 | { |
539 | @@ -789,9 +665,6 @@ |
540 | gwd_settings_button_layout_changed (GWDSettings *settings, |
541 | const gchar *button_layout) |
542 | { |
543 | - if (!button_layout) |
544 | - return FALSE; |
545 | - |
546 | if (g_strcmp0 (settings->metacity_button_layout, button_layout) == 0) |
547 | return FALSE; |
548 | |
549 | @@ -810,22 +683,16 @@ |
550 | gboolean titlebar_uses_system_font, |
551 | const gchar *titlebar_font) |
552 | { |
553 | - const gchar *no_font = NULL; |
554 | - const gchar *use_font = NULL; |
555 | - |
556 | - if (!titlebar_font) |
557 | - return FALSE; |
558 | + const gchar *use_font = titlebar_font; |
559 | |
560 | if (titlebar_uses_system_font) |
561 | - use_font = no_font; |
562 | - else |
563 | - use_font = titlebar_font; |
564 | + use_font = NULL; |
565 | |
566 | if (g_strcmp0 (settings->titlebar_font, use_font) == 0) |
567 | return FALSE; |
568 | |
569 | g_free (settings->titlebar_font); |
570 | - settings->titlebar_font = use_font ? g_strdup (use_font) : NULL; |
571 | + settings->titlebar_font = g_strdup (use_font); |
572 | |
573 | append_to_notify_funcs (settings, update_decorations); |
574 | append_to_notify_funcs (settings, update_frames); |
575 | |
576 | === modified file 'gtk/window-decorator/gwd-settings.h' |
577 | --- gtk/window-decorator/gwd-settings.h 2016-05-21 20:35:23 +0000 |
578 | +++ gtk/window-decorator/gwd-settings.h 2016-05-21 20:35:24 +0000 |
579 | @@ -23,6 +23,7 @@ |
580 | #ifndef GWD_SETTINGS_H |
581 | #define GWD_SETTINGS_H |
582 | |
583 | +#include <decoration.h> |
584 | #include <glib-object.h> |
585 | |
586 | G_BEGIN_DECLS |
587 | @@ -87,72 +88,108 @@ |
588 | G_DECLARE_FINAL_TYPE (GWDSettings, gwd_settings, GWD, SETTINGS, GObject) |
589 | |
590 | GWDSettings * |
591 | -gwd_settings_new (gint blur, |
592 | - const gchar *metacity_theme); |
593 | - |
594 | -const gchar * |
595 | -gwd_settings_get_metacity_button_layout (GWDSettings *settings); |
596 | - |
597 | -const gchar * |
598 | -gwd_settings_get_metacity_theme (GWDSettings *settings); |
599 | - |
600 | -const gchar * |
601 | -gwd_settings_get_titlebar_font (GWDSettings *settings); |
602 | - |
603 | -void |
604 | -gwd_settings_freeze_updates (GWDSettings *settings); |
605 | - |
606 | -void |
607 | -gwd_settings_thaw_updates (GWDSettings *settings); |
608 | - |
609 | -gboolean |
610 | -gwd_settings_shadow_property_changed (GWDSettings *settings, |
611 | - gdouble active_shadow_radius, |
612 | - gdouble active_shadow_opacity, |
613 | - gdouble active_shadow_offset_x, |
614 | - gdouble active_shadow_offset_y, |
615 | - const gchar *active_shadow_color, |
616 | - gdouble inactive_shadow_radius, |
617 | - gdouble inactive_shadow_opacity, |
618 | - gdouble inactive_shadow_offset_x, |
619 | - gdouble inactive_shadow_offset_y, |
620 | - const gchar *inactive_shadow_color); |
621 | - |
622 | -gboolean |
623 | -gwd_settings_use_tooltips_changed (GWDSettings *settings, |
624 | - gboolean use_tooltips); |
625 | - |
626 | -gboolean |
627 | -gwd_settings_blur_changed (GWDSettings *settings, |
628 | - const gchar *blur_type); |
629 | - |
630 | -gboolean |
631 | -gwd_settings_metacity_theme_changed (GWDSettings *settings, |
632 | - gboolean use_metacity_theme, |
633 | - const gchar *metacity_theme); |
634 | - |
635 | -gboolean |
636 | -gwd_settings_opacity_changed (GWDSettings *settings, |
637 | - gdouble active_opacity, |
638 | - gdouble inactive_opacity, |
639 | - gboolean active_shade_opacity, |
640 | - gboolean inactive_shade_opacity); |
641 | - |
642 | -gboolean |
643 | -gwd_settings_button_layout_changed (GWDSettings *settings, |
644 | - const gchar *button_layout); |
645 | - |
646 | -gboolean |
647 | -gwd_settings_font_changed (GWDSettings *settings, |
648 | - gboolean titlebar_uses_system_font, |
649 | - const gchar *titlebar_font); |
650 | - |
651 | -gboolean |
652 | -gwd_settings_titlebar_actions_changed (GWDSettings *settings, |
653 | - const gchar *action_double_click_titlebar, |
654 | - const gchar *action_middle_click_titlebar, |
655 | - const gchar *action_right_click_titlebar, |
656 | - const gchar *mouse_wheel_action); |
657 | +gwd_settings_new (gint blur, |
658 | + const gchar *metacity_theme); |
659 | + |
660 | +gint |
661 | +gwd_settings_get_blur_type (GWDSettings *settings); |
662 | + |
663 | +const gchar * |
664 | +gwd_settings_get_metacity_button_layout (GWDSettings *settings); |
665 | + |
666 | +const gchar * |
667 | +gwd_settings_get_metacity_theme (GWDSettings *settings); |
668 | + |
669 | +const gchar * |
670 | +gwd_settings_get_titlebar_font (GWDSettings *settings); |
671 | + |
672 | +decor_shadow_options_t |
673 | +gwd_settings_get_active_shadow (GWDSettings *settings); |
674 | + |
675 | +decor_shadow_options_t |
676 | +gwd_settings_get_inactive_shadow (GWDSettings *settings); |
677 | + |
678 | +gboolean |
679 | +gwd_settings_get_use_tooltips (GWDSettings *settings); |
680 | + |
681 | +gdouble |
682 | +gwd_settings_get_metacity_active_opacity (GWDSettings *settings); |
683 | + |
684 | +gdouble |
685 | +gwd_settings_get_metacity_inactive_opacity (GWDSettings *settings); |
686 | + |
687 | +gboolean |
688 | +gwd_settings_get_metacity_active_shade_opacity (GWDSettings *settings); |
689 | + |
690 | +gboolean |
691 | +gwd_settings_get_metacity_inactive_shade_opacity (GWDSettings *settings); |
692 | + |
693 | +gint |
694 | +gwd_settings_get_titlebar_double_click_action (GWDSettings *settings); |
695 | + |
696 | +gint |
697 | +gwd_settings_get_titlebar_middle_click_action (GWDSettings *settings); |
698 | + |
699 | +gint |
700 | +gwd_settings_get_titlebar_right_click_action (GWDSettings *settings); |
701 | + |
702 | +gint |
703 | +gwd_settings_get_mouse_wheel_action (GWDSettings *settings); |
704 | + |
705 | +void |
706 | +gwd_settings_freeze_updates (GWDSettings *settings); |
707 | + |
708 | +void |
709 | +gwd_settings_thaw_updates (GWDSettings *settings); |
710 | + |
711 | +gboolean |
712 | +gwd_settings_shadow_property_changed (GWDSettings *settings, |
713 | + gdouble active_shadow_radius, |
714 | + gdouble active_shadow_opacity, |
715 | + gdouble active_shadow_offset_x, |
716 | + gdouble active_shadow_offset_y, |
717 | + const gchar *active_shadow_color, |
718 | + gdouble inactive_shadow_radius, |
719 | + gdouble inactive_shadow_opacity, |
720 | + gdouble inactive_shadow_offset_x, |
721 | + gdouble inactive_shadow_offset_y, |
722 | + const gchar *inactive_shadow_color); |
723 | + |
724 | +gboolean |
725 | +gwd_settings_use_tooltips_changed (GWDSettings *settings, |
726 | + gboolean use_tooltips); |
727 | + |
728 | +gboolean |
729 | +gwd_settings_blur_changed (GWDSettings *settings, |
730 | + const gchar *blur_type); |
731 | + |
732 | +gboolean |
733 | +gwd_settings_metacity_theme_changed (GWDSettings *settings, |
734 | + gboolean use_metacity_theme, |
735 | + const gchar *metacity_theme); |
736 | + |
737 | +gboolean |
738 | +gwd_settings_opacity_changed (GWDSettings *settings, |
739 | + gdouble active_opacity, |
740 | + gdouble inactive_opacity, |
741 | + gboolean active_shade_opacity, |
742 | + gboolean inactive_shade_opacity); |
743 | + |
744 | +gboolean |
745 | +gwd_settings_button_layout_changed (GWDSettings *settings, |
746 | + const gchar *button_layout); |
747 | + |
748 | +gboolean |
749 | +gwd_settings_font_changed (GWDSettings *settings, |
750 | + gboolean titlebar_uses_system_font, |
751 | + const gchar *titlebar_font); |
752 | + |
753 | +gboolean |
754 | +gwd_settings_titlebar_actions_changed (GWDSettings *settings, |
755 | + const gchar *action_double_click_titlebar, |
756 | + const gchar *action_middle_click_titlebar, |
757 | + const gchar *action_right_click_titlebar, |
758 | + const gchar *mouse_wheel_action); |
759 | |
760 | G_END_DECLS |
761 | |
762 | |
763 | === modified file 'gtk/window-decorator/gwd-theme-metacity.c' |
764 | --- gtk/window-decorator/gwd-theme-metacity.c 2016-05-21 20:35:23 +0000 |
765 | +++ gtk/window-decorator/gwd-theme-metacity.c 2016-05-21 20:35:24 +0000 |
766 | @@ -941,10 +941,6 @@ |
767 | Region bottom_region; |
768 | Region left_region; |
769 | Region right_region; |
770 | - gdouble meta_active_opacity; |
771 | - gdouble meta_inactive_opacity; |
772 | - gboolean meta_active_shade_opacity; |
773 | - gboolean meta_inactive_shade_opacity; |
774 | double alpha; |
775 | gboolean shade_alpha; |
776 | MetaFrameStyle *frame_style; |
777 | @@ -962,13 +958,13 @@ |
778 | left_region = NULL; |
779 | right_region = NULL; |
780 | |
781 | - g_object_get (settings, "metacity-active-opacity", &meta_active_opacity, NULL); |
782 | - g_object_get (settings, "metacity-inactive-opacity", &meta_inactive_opacity, NULL); |
783 | - g_object_get (settings, "metacity-active-shade-opacity", &meta_active_shade_opacity, NULL); |
784 | - g_object_get (settings, "metacity-inactive-shade-opacity", &meta_inactive_shade_opacity, NULL); |
785 | - |
786 | - alpha = (decor->active) ? meta_active_opacity : meta_inactive_opacity; |
787 | - shade_alpha = (decor->active) ? meta_active_shade_opacity : meta_inactive_shade_opacity; |
788 | + if (decor->active) { |
789 | + alpha = gwd_settings_get_metacity_active_opacity (settings); |
790 | + shade_alpha = gwd_settings_get_metacity_active_shade_opacity (settings); |
791 | + } else { |
792 | + alpha = gwd_settings_get_metacity_inactive_opacity (settings); |
793 | + shade_alpha = gwd_settings_get_metacity_inactive_shade_opacity (settings); |
794 | + } |
795 | |
796 | if (decoration_alpha == 1.0) |
797 | alpha = 1.0; |
798 | |
799 | === modified file 'gtk/window-decorator/gwd-theme.c' |
800 | --- gtk/window-decorator/gwd-theme.c 2016-05-21 20:35:23 +0000 |
801 | +++ gtk/window-decorator/gwd-theme.c 2016-05-21 20:35:24 +0000 |
802 | @@ -111,18 +111,16 @@ |
803 | gboolean active) |
804 | { |
805 | GWDThemePrivate *priv; |
806 | - decor_shadow_options_t *shadow; |
807 | + decor_shadow_options_t shadow; |
808 | |
809 | priv = gwd_theme_get_instance_private (theme); |
810 | - shadow = NULL; |
811 | |
812 | if (active) |
813 | - g_object_get (priv->settings, "active-shadow", &shadow, NULL); |
814 | + shadow = gwd_settings_get_active_shadow (priv->settings); |
815 | else |
816 | - g_object_get (priv->settings, "inactive-shadow", &shadow, NULL); |
817 | + shadow = gwd_settings_get_inactive_shadow (priv->settings); |
818 | |
819 | - if (shadow) |
820 | - memcpy (options, shadow, sizeof (decor_shadow_options_t)); |
821 | + memcpy (options, &shadow, sizeof (decor_shadow_options_t)); |
822 | } |
823 | |
824 | static void |
825 | |
826 | === modified file 'gtk/window-decorator/tests/test_gwd_settings.cpp' |
827 | --- gtk/window-decorator/tests/test_gwd_settings.cpp 2016-05-21 20:35:23 +0000 |
828 | +++ gtk/window-decorator/tests/test_gwd_settings.cpp 2016-05-21 20:35:24 +0000 |
829 | @@ -44,130 +44,21 @@ |
830 | #include "gwd-settings.h" |
831 | #include "gwd-settings-storage.h" |
832 | |
833 | -#include "decoration.h" |
834 | - |
835 | -using ::testing::TestWithParam; |
836 | using ::testing::Eq; |
837 | -using ::testing::Return; |
838 | -using ::testing::InvokeWithoutArgs; |
839 | -using ::testing::IgnoreResult; |
840 | -using ::testing::MatcherInterface; |
841 | -using ::testing::MakeMatcher; |
842 | -using ::testing::MatchResultListener; |
843 | -using ::testing::Matcher; |
844 | using ::testing::Action; |
845 | -using ::testing::ActionInterface; |
846 | -using ::testing::MakeAction; |
847 | -using ::testing::IsNull; |
848 | using ::testing::Values; |
849 | using ::testing::_; |
850 | using ::testing::StrictMock; |
851 | -using ::testing::InSequence; |
852 | - |
853 | -template <class ValueCType> |
854 | -class GValueCmp |
855 | -{ |
856 | - public: |
857 | - |
858 | - typedef ValueCType (*GetFunc) (const GValue *value); |
859 | - |
860 | - bool compare (const ValueCType &val, |
861 | - GValue *value, |
862 | - GetFunc get) |
863 | - { |
864 | - const ValueCType &valForValue = (*get) (value); |
865 | - return valForValue == val; |
866 | - } |
867 | -}; |
868 | - |
869 | -template <> |
870 | -class GValueCmp <decor_shadow_options_t> |
871 | -{ |
872 | - public: |
873 | - |
874 | - typedef gpointer (*GetFunc) (const GValue *value); |
875 | - |
876 | - bool compare (const decor_shadow_options_t &val, |
877 | - GValue *value, |
878 | - GetFunc get) |
879 | - { |
880 | - gpointer shadowOptionsPtr = (*get) (value); |
881 | - const decor_shadow_options_t &shadowOptions = *(reinterpret_cast <decor_shadow_options_t *> (shadowOptionsPtr)); |
882 | - if (decor_shadow_options_cmp (&val, &shadowOptions)) |
883 | - return true; |
884 | - else |
885 | - return false; |
886 | - } |
887 | -}; |
888 | - |
889 | -template <> |
890 | -class GValueCmp <std::string> |
891 | -{ |
892 | - public: |
893 | - |
894 | - typedef const gchar * (*GetFunc) (const GValue *value); |
895 | - |
896 | - bool compare (const std::string &val, |
897 | - GValue *value, |
898 | - GetFunc get) |
899 | - { |
900 | - const gchar *valueForValue = (*get) (value); |
901 | - const std::string valueForValueStr (valueForValue);\ |
902 | - |
903 | - return val == valueForValueStr; |
904 | - } |
905 | -}; |
906 | - |
907 | -namespace |
908 | -{ |
909 | - std::ostream & |
910 | - operator<< (std::ostream &os, const decor_shadow_options_t &options) |
911 | - { |
912 | - os << " radius: " << options.shadow_radius << |
913 | - " opacity: " << options.shadow_opacity << |
914 | - " offset: (" << options.shadow_offset_x << ", " << options.shadow_offset_y << ")" << |
915 | - " color: r: " << options.shadow_color[0] << |
916 | - " g: " << options.shadow_color[1] << |
917 | - " b: " << options.shadow_color[2]; |
918 | - |
919 | - return os; |
920 | - } |
921 | -} |
922 | - |
923 | -template <class ValueCType> |
924 | -class GObjectPropertyMatcher : |
925 | - public ::testing::MatcherInterface <GValue *> |
926 | -{ |
927 | - public: |
928 | - |
929 | - GObjectPropertyMatcher (const ValueCType &value, |
930 | - typename GValueCmp<ValueCType>::GetFunc func) : |
931 | - mValue (value), |
932 | - mGetFunc (func) |
933 | - { |
934 | - } |
935 | - virtual ~GObjectPropertyMatcher () {} |
936 | - |
937 | - virtual bool MatchAndExplain (GValue *value, MatchResultListener *listener) const |
938 | - { |
939 | - return GValueCmp <ValueCType> ().compare (mValue, value, mGetFunc); |
940 | - } |
941 | - |
942 | - virtual void DescribeTo (std::ostream *os) const |
943 | - { |
944 | - *os << "value contains " << mValue; |
945 | - } |
946 | - |
947 | - virtual void DescribeNegationTo (std::ostream *os) const |
948 | - { |
949 | - *os << "value does not contain " << mValue; |
950 | - } |
951 | - |
952 | - private: |
953 | - |
954 | - const ValueCType &mValue; |
955 | - typename GValueCmp<ValueCType>::GetFunc mGetFunc; |
956 | -}; |
957 | + |
958 | +MATCHER_P(IsShadowsEqual, element, "") |
959 | +{ |
960 | + return decor_shadow_options_cmp (&arg, &element); |
961 | +} |
962 | + |
963 | +MATCHER_P(IsStringsEqual, element, "") |
964 | +{ |
965 | + return g_strcmp0 (arg, element) == 0; |
966 | +} |
967 | |
968 | namespace testing_values |
969 | { |
970 | @@ -215,14 +106,6 @@ |
971 | const std::string MOUSE_WHEEL_ACTION_SHADE ("shade"); |
972 | } |
973 | |
974 | -template <class ValueCType> |
975 | -inline Matcher<GValue *> |
976 | -GValueMatch (const ValueCType &value, |
977 | - typename GValueCmp<ValueCType>::GetFunc func) |
978 | -{ |
979 | - return MakeMatcher (new GObjectPropertyMatcher <ValueCType> (value, func)); |
980 | -} |
981 | - |
982 | class GWDSettingsTestCommon : |
983 | public ::testing::Test |
984 | { |
985 | @@ -246,35 +129,6 @@ |
986 | { |
987 | g_object_unref (G_OBJECT (settings)); |
988 | } |
989 | - |
990 | - class AutoUnsetGValue |
991 | - { |
992 | - public: |
993 | - |
994 | - AutoUnsetGValue (GType type) |
995 | - { |
996 | - /* This is effectively G_VALUE_INIT, we can't use that here |
997 | - * because this is not a C++11 project */ |
998 | - mValue.g_type = 0; |
999 | - mValue.data[0].v_int = 0; |
1000 | - mValue.data[1].v_int = 0; |
1001 | - g_value_init (&mValue, type); |
1002 | - } |
1003 | - |
1004 | - ~AutoUnsetGValue () |
1005 | - { |
1006 | - g_value_unset (&mValue); |
1007 | - } |
1008 | - |
1009 | - operator GValue & () |
1010 | - { |
1011 | - return mValue; |
1012 | - } |
1013 | - |
1014 | - private: |
1015 | - |
1016 | - GValue mValue; |
1017 | - }; |
1018 | } |
1019 | |
1020 | class GWDMockSettingsNotifiedGMock |
1021 | @@ -407,8 +261,11 @@ |
1022 | |
1023 | TEST_F(GWDSettingsTest, TestShadowPropertyChanged) |
1024 | { |
1025 | + decor_shadow_options_t activeShadow; |
1026 | + decor_shadow_options_t inactiveShadow; |
1027 | + |
1028 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1029 | - EXPECT_THAT (gwd_settings_shadow_property_changed (mSettings.get (), |
1030 | + EXPECT_TRUE (gwd_settings_shadow_property_changed (mSettings.get (), |
1031 | testing_values::ACTIVE_SHADOW_OPACITY_VALUE, |
1032 | testing_values::ACTIVE_SHADOW_RADIUS_VALUE, |
1033 | testing_values::ACTIVE_SHADOW_OFFSET_X_VALUE, |
1034 | @@ -418,23 +275,7 @@ |
1035 | testing_values::INACTIVE_SHADOW_RADIUS_VALUE, |
1036 | testing_values::INACTIVE_SHADOW_OFFSET_X_VALUE, |
1037 | testing_values::INACTIVE_SHADOW_OFFSET_Y_VALUE, |
1038 | - testing_values::INACTIVE_SHADOW_COLOR_STR_VALUE.c_str ()), IsTrue ()); |
1039 | - |
1040 | - AutoUnsetGValue activeShadowValue (G_TYPE_POINTER); |
1041 | - AutoUnsetGValue inactiveShadowValue (G_TYPE_POINTER); |
1042 | - |
1043 | - GValue &activeShadowGValue = activeShadowValue; |
1044 | - GValue &inactiveShadowGValue = inactiveShadowValue; |
1045 | - |
1046 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1047 | - "active-shadow", |
1048 | - &activeShadowGValue); |
1049 | - |
1050 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1051 | - "inactive-shadow", |
1052 | - &inactiveShadowGValue); |
1053 | - |
1054 | - decor_shadow_options_t activeShadow; |
1055 | + testing_values::INACTIVE_SHADOW_COLOR_STR_VALUE.c_str ())); |
1056 | |
1057 | activeShadow.shadow_opacity = testing_values::ACTIVE_SHADOW_OPACITY_VALUE; |
1058 | activeShadow.shadow_radius = testing_values::ACTIVE_SHADOW_RADIUS_VALUE; |
1059 | @@ -444,8 +285,6 @@ |
1060 | activeShadow.shadow_color[1] = testing_values::ACTIVE_SHADOW_COLOR_VALUE[1]; |
1061 | activeShadow.shadow_color[2] = testing_values::ACTIVE_SHADOW_COLOR_VALUE[2]; |
1062 | |
1063 | - decor_shadow_options_t inactiveShadow; |
1064 | - |
1065 | inactiveShadow.shadow_opacity = testing_values::INACTIVE_SHADOW_OPACITY_VALUE; |
1066 | inactiveShadow.shadow_radius = testing_values::INACTIVE_SHADOW_RADIUS_VALUE; |
1067 | inactiveShadow.shadow_offset_x = testing_values::INACTIVE_SHADOW_OFFSET_X_INT_VALUE; |
1068 | @@ -454,98 +293,71 @@ |
1069 | inactiveShadow.shadow_color[1] = testing_values::INACTIVE_SHADOW_COLOR_VALUE[1]; |
1070 | inactiveShadow.shadow_color[2] = testing_values::INACTIVE_SHADOW_COLOR_VALUE[2]; |
1071 | |
1072 | - EXPECT_THAT (&activeShadowGValue, GValueMatch <decor_shadow_options_t> (activeShadow, |
1073 | - g_value_get_pointer)); |
1074 | - EXPECT_THAT (&inactiveShadowGValue, GValueMatch <decor_shadow_options_t> (inactiveShadow, |
1075 | - g_value_get_pointer)); |
1076 | + EXPECT_THAT (gwd_settings_get_active_shadow (mSettings.get ()), |
1077 | + IsShadowsEqual (activeShadow)); |
1078 | + |
1079 | + EXPECT_THAT (gwd_settings_get_inactive_shadow (mSettings.get ()), |
1080 | + IsShadowsEqual (inactiveShadow)); |
1081 | } |
1082 | |
1083 | TEST_F(GWDSettingsTest, TestShadowPropertyChangedIsDefault) |
1084 | { |
1085 | - EXPECT_THAT (gwd_settings_shadow_property_changed (mSettings.get (), |
1086 | - ACTIVE_SHADOW_RADIUS_DEFAULT, |
1087 | - ACTIVE_SHADOW_OPACITY_DEFAULT, |
1088 | - ACTIVE_SHADOW_OFFSET_X_DEFAULT, |
1089 | - ACTIVE_SHADOW_OFFSET_Y_DEFAULT, |
1090 | - ACTIVE_SHADOW_COLOR_DEFAULT, |
1091 | - INACTIVE_SHADOW_RADIUS_DEFAULT, |
1092 | - INACTIVE_SHADOW_OPACITY_DEFAULT, |
1093 | - INACTIVE_SHADOW_OFFSET_X_DEFAULT, |
1094 | - INACTIVE_SHADOW_OFFSET_Y_DEFAULT, |
1095 | - INACTIVE_SHADOW_COLOR_DEFAULT), IsFalse ()); |
1096 | + EXPECT_FALSE (gwd_settings_shadow_property_changed (mSettings.get (), |
1097 | + ACTIVE_SHADOW_RADIUS_DEFAULT, |
1098 | + ACTIVE_SHADOW_OPACITY_DEFAULT, |
1099 | + ACTIVE_SHADOW_OFFSET_X_DEFAULT, |
1100 | + ACTIVE_SHADOW_OFFSET_Y_DEFAULT, |
1101 | + ACTIVE_SHADOW_COLOR_DEFAULT, |
1102 | + INACTIVE_SHADOW_RADIUS_DEFAULT, |
1103 | + INACTIVE_SHADOW_OPACITY_DEFAULT, |
1104 | + INACTIVE_SHADOW_OFFSET_X_DEFAULT, |
1105 | + INACTIVE_SHADOW_OFFSET_Y_DEFAULT, |
1106 | + INACTIVE_SHADOW_COLOR_DEFAULT)); |
1107 | } |
1108 | |
1109 | TEST_F(GWDSettingsTest, TestUseTooltipsChanged) |
1110 | { |
1111 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1112 | - EXPECT_THAT (gwd_settings_use_tooltips_changed (mSettings.get (), |
1113 | - testing_values::USE_TOOLTIPS_VALUE), IsTrue ()); |
1114 | - |
1115 | - AutoUnsetGValue useTooltipsValue (G_TYPE_BOOLEAN); |
1116 | - GValue &useTooltipsGValue = useTooltipsValue; |
1117 | - |
1118 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1119 | - "use-tooltips", |
1120 | - &useTooltipsGValue); |
1121 | - |
1122 | - EXPECT_THAT (&useTooltipsGValue, GValueMatch <gboolean> (testing_values::USE_TOOLTIPS_VALUE, |
1123 | - g_value_get_boolean)); |
1124 | + EXPECT_TRUE (gwd_settings_use_tooltips_changed (mSettings.get (), |
1125 | + testing_values::USE_TOOLTIPS_VALUE)); |
1126 | + |
1127 | + EXPECT_THAT (gwd_settings_get_use_tooltips (mSettings.get ()), |
1128 | + Eq (testing_values::USE_TOOLTIPS_VALUE)); |
1129 | } |
1130 | |
1131 | TEST_F(GWDSettingsTest, TestUseTooltipsChangedIsDefault) |
1132 | { |
1133 | - EXPECT_THAT (gwd_settings_use_tooltips_changed (mSettings.get (), |
1134 | - USE_TOOLTIPS_DEFAULT), IsFalse ()); |
1135 | + EXPECT_FALSE (gwd_settings_use_tooltips_changed (mSettings.get (), |
1136 | + USE_TOOLTIPS_DEFAULT)); |
1137 | } |
1138 | |
1139 | TEST_F(GWDSettingsTest, TestBlurChangedTitlebar) |
1140 | { |
1141 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1142 | - EXPECT_THAT (gwd_settings_blur_changed (mSettings.get (), |
1143 | - testing_values::BLUR_TYPE_TITLEBAR_VALUE.c_str ()), IsTrue ()); |
1144 | - |
1145 | - AutoUnsetGValue blurValue (G_TYPE_INT); |
1146 | - GValue &blurGValue = blurValue; |
1147 | - |
1148 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1149 | - "blur", |
1150 | - &blurGValue); |
1151 | - |
1152 | - EXPECT_THAT (&blurGValue, GValueMatch <gint> (testing_values::BLUR_TYPE_TITLEBAR_INT_VALUE, |
1153 | - g_value_get_int)); |
1154 | + EXPECT_TRUE (gwd_settings_blur_changed (mSettings.get (), |
1155 | + testing_values::BLUR_TYPE_TITLEBAR_VALUE.c_str ())); |
1156 | + |
1157 | + EXPECT_THAT (gwd_settings_get_blur_type (mSettings.get ()), |
1158 | + Eq (testing_values::BLUR_TYPE_TITLEBAR_INT_VALUE)); |
1159 | } |
1160 | |
1161 | TEST_F(GWDSettingsTest, TestBlurChangedAll) |
1162 | { |
1163 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1164 | - EXPECT_THAT (gwd_settings_blur_changed (mSettings.get (), |
1165 | - testing_values::BLUR_TYPE_ALL_VALUE.c_str ()), IsTrue ()); |
1166 | - |
1167 | - AutoUnsetGValue blurValue (G_TYPE_INT); |
1168 | - GValue &blurGValue = blurValue; |
1169 | - |
1170 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1171 | - "blur", |
1172 | - &blurGValue); |
1173 | - |
1174 | - EXPECT_THAT (&blurGValue, GValueMatch <gint> (testing_values::BLUR_TYPE_ALL_INT_VALUE, |
1175 | - g_value_get_int)); |
1176 | + EXPECT_TRUE (gwd_settings_blur_changed (mSettings.get (), |
1177 | + testing_values::BLUR_TYPE_ALL_VALUE.c_str ())); |
1178 | + |
1179 | + EXPECT_THAT (gwd_settings_get_blur_type (mSettings.get ()), |
1180 | + Eq (testing_values::BLUR_TYPE_ALL_INT_VALUE)); |
1181 | } |
1182 | |
1183 | TEST_F(GWDSettingsTest, TestBlurChangedNone) |
1184 | { |
1185 | - EXPECT_THAT (gwd_settings_blur_changed (mSettings.get (), |
1186 | - testing_values::BLUR_TYPE_NONE_VALUE.c_str ()), IsFalse ()); |
1187 | - |
1188 | - AutoUnsetGValue blurValue (G_TYPE_INT); |
1189 | - GValue &blurGValue = blurValue; |
1190 | - |
1191 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1192 | - "blur", |
1193 | - &blurGValue); |
1194 | - |
1195 | - EXPECT_THAT (&blurGValue, GValueMatch <gint> (testing_values::BLUR_TYPE_NONE_INT_VALUE, |
1196 | - g_value_get_int)); |
1197 | + EXPECT_FALSE (gwd_settings_blur_changed (mSettings.get (), |
1198 | + testing_values::BLUR_TYPE_NONE_VALUE.c_str ())); |
1199 | + |
1200 | + EXPECT_THAT (gwd_settings_get_blur_type (mSettings.get ()), |
1201 | + Eq (testing_values::BLUR_TYPE_NONE_INT_VALUE)); |
1202 | } |
1203 | |
1204 | TEST_F(GWDSettingsTest, TestBlurSetCommandLine) |
1205 | @@ -553,62 +365,44 @@ |
1206 | gint blurType = testing_values::BLUR_TYPE_ALL_INT_VALUE; |
1207 | |
1208 | mSettings.reset (gwd_settings_new (blurType, NULL), |
1209 | - boost::bind (gwd_settings_unref, _1)); |
1210 | - |
1211 | - EXPECT_THAT (gwd_settings_blur_changed (mSettings.get (), |
1212 | - testing_values::BLUR_TYPE_NONE_VALUE.c_str ()), IsFalse ()); |
1213 | - |
1214 | - AutoUnsetGValue blurValue (G_TYPE_INT); |
1215 | - GValue &blurGValue = blurValue; |
1216 | - |
1217 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1218 | - "blur", |
1219 | - &blurGValue); |
1220 | - |
1221 | - EXPECT_THAT (&blurGValue, GValueMatch <gint> (testing_values::BLUR_TYPE_ALL_INT_VALUE, |
1222 | - g_value_get_int)); |
1223 | + boost::bind (gwd_settings_unref, _1)); |
1224 | + |
1225 | + EXPECT_FALSE (gwd_settings_blur_changed (mSettings.get (), |
1226 | + testing_values::BLUR_TYPE_NONE_VALUE.c_str ())); |
1227 | + |
1228 | + EXPECT_THAT (gwd_settings_get_blur_type (mSettings.get ()), Eq (blurType)); |
1229 | } |
1230 | |
1231 | TEST_F(GWDSettingsTest, TestMetacityThemeChanged) |
1232 | { |
1233 | EXPECT_CALL (*mGMockNotified, updateMetacityTheme ()); |
1234 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1235 | - EXPECT_THAT (gwd_settings_metacity_theme_changed (mSettings.get (), |
1236 | + EXPECT_TRUE (gwd_settings_metacity_theme_changed (mSettings.get (), |
1237 | testing_values::USE_METACITY_THEME_VALUE, |
1238 | - testing_values::METACITY_THEME_VALUE.c_str ()), IsTrue ()); |
1239 | - |
1240 | - AutoUnsetGValue metacityThemeValue (G_TYPE_STRING); |
1241 | - GValue &metacityThemeGValue = metacityThemeValue; |
1242 | - |
1243 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1244 | - "metacity-theme", |
1245 | - &metacityThemeGValue); |
1246 | - |
1247 | - EXPECT_THAT (&metacityThemeGValue, GValueMatch <std::string> (testing_values::METACITY_THEME_VALUE, |
1248 | - g_value_get_string)); |
1249 | + testing_values::METACITY_THEME_VALUE.c_str ())); |
1250 | + |
1251 | + EXPECT_THAT (gwd_settings_get_metacity_theme (mSettings.get ()), |
1252 | + IsStringsEqual (testing_values::METACITY_THEME_VALUE.c_str ())); |
1253 | } |
1254 | |
1255 | TEST_F(GWDSettingsTest, TestMetacityThemeChangedNoUseMetacityTheme) |
1256 | { |
1257 | + const gchar *metacityTheme = NULL; |
1258 | + |
1259 | EXPECT_CALL (*mGMockNotified, updateMetacityTheme ()); |
1260 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1261 | - EXPECT_THAT (gwd_settings_metacity_theme_changed (mSettings.get (), FALSE, NULL), IsTrue ()); |
1262 | - |
1263 | - AutoUnsetGValue metacityThemeValue (G_TYPE_STRING); |
1264 | - GValue &metacityThemeGValue = metacityThemeValue; |
1265 | - |
1266 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1267 | - "metacity-theme", |
1268 | - &metacityThemeGValue); |
1269 | - |
1270 | - EXPECT_THAT (&metacityThemeGValue, GValueMatch <const gchar *> (NULL, g_value_get_string)); |
1271 | + EXPECT_TRUE (gwd_settings_metacity_theme_changed (mSettings.get (), FALSE, |
1272 | + METACITY_THEME_DEFAULT)); |
1273 | + |
1274 | + EXPECT_THAT (gwd_settings_get_metacity_theme (mSettings.get ()), |
1275 | + IsStringsEqual (metacityTheme)); |
1276 | } |
1277 | |
1278 | TEST_F(GWDSettingsTest, TestMetacityThemeChangedIsDefault) |
1279 | { |
1280 | - EXPECT_THAT (gwd_settings_metacity_theme_changed (mSettings.get (), |
1281 | - testing_values::USE_METACITY_THEME_VALUE, |
1282 | - METACITY_THEME_DEFAULT), IsFalse ()); |
1283 | + EXPECT_FALSE (gwd_settings_metacity_theme_changed (mSettings.get (), |
1284 | + testing_values::USE_METACITY_THEME_VALUE, |
1285 | + METACITY_THEME_DEFAULT)); |
1286 | } |
1287 | |
1288 | TEST_F(GWDSettingsTest, TestMetacityThemeSetCommandLine) |
1289 | @@ -616,142 +410,95 @@ |
1290 | const gchar *metacityTheme = "Ambiance"; |
1291 | |
1292 | mSettings.reset (gwd_settings_new (BLUR_TYPE_UNSET, metacityTheme), |
1293 | - boost::bind (gwd_settings_unref, _1)); |
1294 | - |
1295 | - EXPECT_THAT (gwd_settings_metacity_theme_changed (mSettings.get (), |
1296 | - testing_values::USE_METACITY_THEME_VALUE, |
1297 | - testing_values::METACITY_THEME_VALUE.c_str ()), IsFalse ()); |
1298 | - |
1299 | - AutoUnsetGValue metacityThemeValue (G_TYPE_STRING); |
1300 | - GValue &metacityThemeGValue = metacityThemeValue; |
1301 | - |
1302 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1303 | - "metacity-theme", |
1304 | - &metacityThemeGValue); |
1305 | - |
1306 | - EXPECT_THAT (&metacityThemeGValue, GValueMatch <std::string> (std::string (metacityTheme), |
1307 | - g_value_get_string)); |
1308 | + boost::bind (gwd_settings_unref, _1)); |
1309 | + |
1310 | + EXPECT_FALSE (gwd_settings_metacity_theme_changed (mSettings.get (), |
1311 | + testing_values::USE_METACITY_THEME_VALUE, |
1312 | + testing_values::METACITY_THEME_VALUE.c_str ())); |
1313 | + |
1314 | + EXPECT_THAT (gwd_settings_get_metacity_theme (mSettings.get ()), |
1315 | + IsStringsEqual (metacityTheme)); |
1316 | } |
1317 | |
1318 | TEST_F(GWDSettingsTest, TestMetacityOpacityChanged) |
1319 | { |
1320 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1321 | - EXPECT_THAT (gwd_settings_opacity_changed (mSettings.get (), |
1322 | + EXPECT_TRUE (gwd_settings_opacity_changed (mSettings.get (), |
1323 | testing_values::ACTIVE_OPACITY_VALUE, |
1324 | testing_values::INACTIVE_OPACITY_VALUE, |
1325 | testing_values::ACTIVE_SHADE_OPACITY_VALUE, |
1326 | - testing_values::INACTIVE_SHADE_OPACITY_VALUE), IsTrue ()); |
1327 | - |
1328 | - AutoUnsetGValue metacityInactiveOpacityValue (G_TYPE_DOUBLE); |
1329 | - AutoUnsetGValue metacityActiveOpacityValue (G_TYPE_DOUBLE); |
1330 | - AutoUnsetGValue metacityInactiveShadeOpacityValue (G_TYPE_BOOLEAN); |
1331 | - AutoUnsetGValue metacityActiveShadeOpacityValue (G_TYPE_BOOLEAN); |
1332 | - |
1333 | - GValue &metacityInactiveOpacityGValue = metacityInactiveOpacityValue; |
1334 | - GValue &metacityActiveOpacityGValue = metacityActiveOpacityValue; |
1335 | - GValue &metacityInactiveShadeOpacityGValue = metacityInactiveShadeOpacityValue; |
1336 | - GValue &metacityActiveShadeOpacityGValue = metacityActiveShadeOpacityValue; |
1337 | - |
1338 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1339 | - "metacity-inactive-opacity", |
1340 | - &metacityInactiveOpacityGValue); |
1341 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1342 | - "metacity-active-opacity", |
1343 | - &metacityActiveOpacityGValue); |
1344 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1345 | - "metacity-inactive-shade-opacity", |
1346 | - &metacityInactiveShadeOpacityGValue); |
1347 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1348 | - "metacity-active-shade-opacity", |
1349 | - &metacityActiveShadeOpacityGValue); |
1350 | - |
1351 | - EXPECT_THAT (&metacityInactiveOpacityGValue, GValueMatch <gdouble> (testing_values::INACTIVE_OPACITY_VALUE, |
1352 | - g_value_get_double)); |
1353 | - EXPECT_THAT (&metacityActiveOpacityGValue, GValueMatch <gdouble> (testing_values::ACTIVE_OPACITY_VALUE, |
1354 | - g_value_get_double)); |
1355 | - EXPECT_THAT (&metacityInactiveShadeOpacityGValue, GValueMatch <gboolean> (testing_values::INACTIVE_SHADE_OPACITY_VALUE, |
1356 | - g_value_get_boolean)); |
1357 | - EXPECT_THAT (&metacityActiveShadeOpacityGValue, GValueMatch <gboolean> (testing_values::ACTIVE_SHADE_OPACITY_VALUE, |
1358 | - g_value_get_boolean)); |
1359 | + testing_values::INACTIVE_SHADE_OPACITY_VALUE)); |
1360 | + |
1361 | + EXPECT_THAT (gwd_settings_get_metacity_inactive_opacity (mSettings.get ()), |
1362 | + Eq (testing_values::INACTIVE_OPACITY_VALUE)); |
1363 | + |
1364 | + EXPECT_THAT (gwd_settings_get_metacity_active_opacity (mSettings.get ()), |
1365 | + Eq (testing_values::ACTIVE_OPACITY_VALUE)); |
1366 | + |
1367 | + EXPECT_THAT (gwd_settings_get_metacity_inactive_shade_opacity (mSettings.get ()), |
1368 | + Eq (testing_values::INACTIVE_SHADE_OPACITY_VALUE)); |
1369 | + |
1370 | + EXPECT_THAT (gwd_settings_get_metacity_active_shade_opacity (mSettings.get ()), |
1371 | + Eq (testing_values::ACTIVE_SHADE_OPACITY_VALUE)); |
1372 | } |
1373 | |
1374 | TEST_F(GWDSettingsTest, TestMetacityOpacityChangedIsDefault) |
1375 | { |
1376 | - EXPECT_THAT (gwd_settings_opacity_changed (mSettings.get (), |
1377 | - METACITY_ACTIVE_OPACITY_DEFAULT, |
1378 | - METACITY_INACTIVE_OPACITY_DEFAULT, |
1379 | - METACITY_ACTIVE_SHADE_OPACITY_DEFAULT, |
1380 | - METACITY_INACTIVE_SHADE_OPACITY_DEFAULT), IsFalse ()); |
1381 | + EXPECT_FALSE (gwd_settings_opacity_changed (mSettings.get (), |
1382 | + METACITY_ACTIVE_OPACITY_DEFAULT, |
1383 | + METACITY_INACTIVE_OPACITY_DEFAULT, |
1384 | + METACITY_ACTIVE_SHADE_OPACITY_DEFAULT, |
1385 | + METACITY_INACTIVE_SHADE_OPACITY_DEFAULT)); |
1386 | } |
1387 | |
1388 | TEST_F(GWDSettingsTest, TestButtonLayoutChanged) |
1389 | { |
1390 | EXPECT_CALL (*mGMockNotified, updateMetacityButtonLayout ()); |
1391 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1392 | - EXPECT_THAT (gwd_settings_button_layout_changed (mSettings.get (), |
1393 | - testing_values::BUTTON_LAYOUT_VALUE.c_str ()), IsTrue ()); |
1394 | - |
1395 | - AutoUnsetGValue buttonLayoutValue (G_TYPE_STRING); |
1396 | - GValue &buttonLayoutGValue = buttonLayoutValue; |
1397 | - |
1398 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1399 | - "metacity-button-layout", |
1400 | - &buttonLayoutGValue); |
1401 | - |
1402 | - EXPECT_THAT (&buttonLayoutGValue, GValueMatch <std::string> (testing_values::BUTTON_LAYOUT_VALUE, |
1403 | - g_value_get_string)); |
1404 | + EXPECT_TRUE (gwd_settings_button_layout_changed (mSettings.get (), |
1405 | + testing_values::BUTTON_LAYOUT_VALUE.c_str ())); |
1406 | + |
1407 | + EXPECT_THAT (gwd_settings_get_metacity_button_layout (mSettings.get ()), |
1408 | + IsStringsEqual (testing_values::BUTTON_LAYOUT_VALUE.c_str ())); |
1409 | } |
1410 | |
1411 | TEST_F(GWDSettingsTest, TestButtonLayoutChangedIsDefault) |
1412 | { |
1413 | - EXPECT_THAT (gwd_settings_button_layout_changed (mSettings.get (), |
1414 | - METACITY_BUTTON_LAYOUT_DEFAULT), IsFalse ()); |
1415 | + EXPECT_FALSE (gwd_settings_button_layout_changed (mSettings.get (), |
1416 | + METACITY_BUTTON_LAYOUT_DEFAULT)); |
1417 | } |
1418 | |
1419 | TEST_F(GWDSettingsTest, TestTitlebarFontChanged) |
1420 | { |
1421 | EXPECT_CALL (*mGMockNotified, updateFrames ()); |
1422 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1423 | - EXPECT_THAT (gwd_settings_font_changed (mSettings.get (), |
1424 | + EXPECT_TRUE (gwd_settings_font_changed (mSettings.get (), |
1425 | testing_values::NO_USE_SYSTEM_FONT_VALUE, |
1426 | - testing_values::TITLEBAR_FONT_VALUE.c_str ()), IsTrue ()); |
1427 | - |
1428 | - AutoUnsetGValue fontValue (G_TYPE_STRING); |
1429 | - GValue &fontGValue = fontValue; |
1430 | - |
1431 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1432 | - "titlebar-font", |
1433 | - &fontGValue); |
1434 | - |
1435 | - EXPECT_THAT (&fontGValue, GValueMatch <std::string> (testing_values::TITLEBAR_FONT_VALUE.c_str (), |
1436 | - g_value_get_string)); |
1437 | + testing_values::TITLEBAR_FONT_VALUE.c_str ())); |
1438 | + |
1439 | + EXPECT_THAT (gwd_settings_get_titlebar_font (mSettings.get ()), |
1440 | + IsStringsEqual (testing_values::TITLEBAR_FONT_VALUE.c_str ())); |
1441 | } |
1442 | |
1443 | TEST_F(GWDSettingsTest, TestTitlebarFontChangedUseSystemFont) |
1444 | { |
1445 | + const gchar *titlebarFont = NULL; |
1446 | + |
1447 | EXPECT_CALL (*mGMockNotified, updateFrames ()); |
1448 | EXPECT_CALL (*mGMockNotified, updateDecorations ()); |
1449 | - EXPECT_THAT (gwd_settings_font_changed (mSettings.get (), |
1450 | + EXPECT_TRUE (gwd_settings_font_changed (mSettings.get (), |
1451 | testing_values::USE_SYSTEM_FONT_VALUE, |
1452 | - testing_values::TITLEBAR_FONT_VALUE.c_str ()), IsTrue ()); |
1453 | - |
1454 | - AutoUnsetGValue fontValue (G_TYPE_STRING); |
1455 | - GValue &fontGValue = fontValue; |
1456 | - |
1457 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1458 | - "titlebar-font", |
1459 | - &fontGValue); |
1460 | - |
1461 | - EXPECT_THAT (&fontGValue, GValueMatch <const gchar *> (NULL, |
1462 | - g_value_get_string)); |
1463 | + testing_values::TITLEBAR_FONT_VALUE.c_str ())); |
1464 | + |
1465 | + EXPECT_THAT (gwd_settings_get_titlebar_font (mSettings.get ()), |
1466 | + IsStringsEqual (titlebarFont)); |
1467 | } |
1468 | |
1469 | - |
1470 | TEST_F(GWDSettingsTest, TestTitlebarFontChangedIsDefault) |
1471 | { |
1472 | - EXPECT_THAT (gwd_settings_font_changed (mSettings.get (), |
1473 | - testing_values::NO_USE_SYSTEM_FONT_VALUE, |
1474 | - TITLEBAR_FONT_DEFAULT), IsFalse ()); |
1475 | + EXPECT_FALSE (gwd_settings_font_changed (mSettings.get (), |
1476 | + testing_values::NO_USE_SYSTEM_FONT_VALUE, |
1477 | + TITLEBAR_FONT_DEFAULT)); |
1478 | } |
1479 | |
1480 | namespace |
1481 | @@ -811,40 +558,17 @@ |
1482 | GetParam ().titlebarAction ().c_str (), |
1483 | GetParam ().mouseWheelAction ().c_str ()); |
1484 | |
1485 | - AutoUnsetGValue doubleClickActionValue (G_TYPE_INT); |
1486 | - AutoUnsetGValue middleClickActionValue (G_TYPE_INT); |
1487 | - AutoUnsetGValue rightClickActionValue (G_TYPE_INT); |
1488 | - AutoUnsetGValue mouseWheelActionValue (G_TYPE_INT); |
1489 | - |
1490 | - GValue &doubleClickActionGValue = doubleClickActionValue; |
1491 | - GValue &middleClickActionGValue = middleClickActionValue; |
1492 | - GValue &rightClickActionGValue = rightClickActionValue; |
1493 | - GValue &mouseWheelActionGValue = mouseWheelActionValue; |
1494 | - |
1495 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1496 | - "titlebar-double-click-action", |
1497 | - &doubleClickActionGValue); |
1498 | - |
1499 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1500 | - "titlebar-middle-click-action", |
1501 | - &middleClickActionGValue); |
1502 | - |
1503 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1504 | - "titlebar-right-click-action", |
1505 | - &rightClickActionGValue); |
1506 | - |
1507 | - g_object_get_property (G_OBJECT (mSettings.get ()), |
1508 | - "mouse-wheel-action", |
1509 | - &mouseWheelActionGValue); |
1510 | - |
1511 | - EXPECT_THAT (&doubleClickActionGValue, GValueMatch <gint> (GetParam ().titlebarActionId (), |
1512 | - g_value_get_int)); |
1513 | - EXPECT_THAT (&middleClickActionGValue, GValueMatch <gint> (GetParam ().titlebarActionId (), |
1514 | - g_value_get_int)); |
1515 | - EXPECT_THAT (&rightClickActionGValue, GValueMatch <gint> (GetParam ().titlebarActionId (), |
1516 | - g_value_get_int)); |
1517 | - EXPECT_THAT (&mouseWheelActionGValue, GValueMatch <gint> (GetParam ().mouseWheelActionId (), |
1518 | - g_value_get_int)); |
1519 | + EXPECT_THAT (gwd_settings_get_titlebar_double_click_action (mSettings.get ()), |
1520 | + Eq (GetParam ().titlebarActionId ())); |
1521 | + |
1522 | + EXPECT_THAT (gwd_settings_get_titlebar_middle_click_action (mSettings.get ()), |
1523 | + Eq (GetParam ().titlebarActionId ())); |
1524 | + |
1525 | + EXPECT_THAT (gwd_settings_get_titlebar_right_click_action (mSettings.get ()), |
1526 | + Eq (GetParam ().titlebarActionId ())); |
1527 | + |
1528 | + EXPECT_THAT (gwd_settings_get_mouse_wheel_action (mSettings.get ()), |
1529 | + Eq (GetParam ().mouseWheelActionId ())); |
1530 | } |
1531 | |
1532 | INSTANTIATE_TEST_CASE_P (MouseActions, GWDSettingsTestClickActions, |
1533 | |
1534 | === modified file 'gtk/window-decorator/wnck.c' |
1535 | --- gtk/window-decorator/wnck.c 2016-05-21 20:35:23 +0000 |
1536 | +++ gtk/window-decorator/wnck.c 2016-05-21 20:35:24 +0000 |
1537 | @@ -24,6 +24,7 @@ |
1538 | */ |
1539 | |
1540 | #include "gtk-window-decorator.h" |
1541 | +#include "gwd-settings.h" |
1542 | |
1543 | static void |
1544 | draw_window_decoration (decor_t *decor) |
1545 | @@ -190,8 +191,7 @@ |
1546 | gdkscreen = gdk_display_get_default_screen (gdkdisplay); |
1547 | |
1548 | GWDSettings *settings = gwd_theme_get_settings (gwd_theme); |
1549 | - const gchar *titlebar_font = NULL; |
1550 | - g_object_get (settings, "titlebar-font", &titlebar_font, NULL); |
1551 | + const gchar *titlebar_font = gwd_settings_get_titlebar_font (settings); |
1552 | |
1553 | gwd_frames_foreach (set_frames_scales, (gpointer) titlebar_font); |
1554 |
Looks really great! Thanks for simplifying all that. I've added some questions about nullability in the diff but other than LGTM!