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