Merge lp:~samuel-buffet/entertainer/hidden_files_folders into lp:entertainer

Proposed by Samuel Buffet
Status: Merged
Approved by: Matt Layman
Approved revision: 388
Merged at revision: not available
Proposed branch: lp:~samuel-buffet/entertainer/hidden_files_folders
Merge into: lp:entertainer
Diff against target: None lines
To merge this branch: bzr merge lp:~samuel-buffet/entertainer/hidden_files_folders
Reviewer Review Type Date Requested Status
Matt Layman Approve
Review via email: mp+6939@code.launchpad.net

Commit message

It's now possible to avoid hidden files or folders to be integrated in the photo library.

To post a comment you must log in.
Revision history for this message
Samuel Buffet (samuel-buffet) wrote :

Devs,

It turns out that the "display_hidden_folders" setting we have in content.conf is fake.

So I've fixed that and generalized that setting to "display_hidden_files_folders" because some other applications using my photo library creates hidden thumbnails.

I've done functional tests which all passed successfully.

Samuel-

388. By Samuel Buffet

Merged with trunk 383

Revision history for this message
Matt Layman (mblayman) wrote :

The code looks good (very similar to all the other configuration code, which is to be expected) and the stuff in the image_cache makes sense.

`make check` was fine and I trust you when you said you did the functional testing.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'cfg/content.conf'
2--- cfg/content.conf 2009-05-06 03:40:22 +0000
3+++ cfg/content.conf 2009-05-31 17:11:16 +0000
4@@ -1,7 +1,7 @@
5 # Copyright (c) 2009 Entertainer Developers - See COPYING - GPLv2
6 [Images]
7 folders =
8-display_hidden_folders = false
9+display_hidden_files_folders = False
10
11 [Weather]
12 location = Bath,England
13
14=== modified file 'entertainerlib/backend/components/mediacache/image_cache.py'
15--- entertainerlib/backend/components/mediacache/image_cache.py 2009-05-11 21:45:54 +0000
16+++ entertainerlib/backend/components/mediacache/image_cache.py 2009-06-01 09:55:40 +0000
17@@ -117,9 +117,16 @@
18 "Path doesn't exist: " + path)
19 else:
20 for root, dirs, files in os.walk(path):
21+ if os.path.split(root)[-1][0] == "." and not \
22+ self.config.display_hidden_files_folders():
23+ continue
24 if not self.isDirectoryInCache(root):
25 self._addAlbum(root)
26+
27 for name in files:
28+ if os.path.split(name)[-1][0] == "." and not \
29+ self.config.display_hidden_files_folders():
30+ continue
31 if self.isSupportedFormat(name):
32 self.addFile(os.path.join(root, name))
33 time.sleep(float(self.SLEEP_TIME_BETWEEN_FILES) / 1000)
34
35=== modified file 'entertainerlib/tests/test_configuration.py'
36--- entertainerlib/tests/test_configuration.py 2009-04-28 22:30:06 +0000
37+++ entertainerlib/tests/test_configuration.py 2009-06-01 09:55:40 +0000
38@@ -16,10 +16,6 @@
39
40 self.configuration = Configuration()
41
42- def tearDown(self):
43- '''Clean up after the test'''
44- EntertainerTest.tearDown(self)
45-
46 def testCreate(self):
47 """Test correct Configuration initialization"""
48 self.assertTrue(isinstance(self.configuration, Configuration))
49@@ -112,6 +108,11 @@
50 '''Test getting the slideshow step'''
51 self.assertEqual(self.configuration.get_slideshow_step(), 5)
52
53+ def test_hidden_files_folders(self):
54+ """Test getting the `display_hidden_files_folders` setting."""
55+ self.assertEqual(self.configuration.display_hidden_files_folders(),
56+ False)
57+
58 def test_taint(self):
59 '''Test tainting configuration data'''
60 # Test tainting preferences data
61
62=== modified file 'entertainerlib/utils/configuration.py'
63--- entertainerlib/utils/configuration.py 2009-05-06 02:58:08 +0000
64+++ entertainerlib/utils/configuration.py 2009-06-01 09:55:40 +0000
65@@ -386,6 +386,15 @@
66 return False
67 return result
68
69+ def display_hidden_files_folders(self):
70+ """If True hidden files and folders will be added to image library."""
71+ try:
72+ result = self.content_config.getboolean("Images",
73+ "display_hidden_files_folders")
74+ except (NoSectionError, NoOptionError):
75+ return False
76+ return result
77+
78 def show_effects(self):
79 """
80 Use animations on user interface.
81
82=== modified file 'entertainerlib/utils/content_management_dialog.py'
83--- entertainerlib/utils/content_management_dialog.py 2009-05-25 16:56:25 +0000
84+++ entertainerlib/utils/content_management_dialog.py 2009-06-01 09:55:40 +0000
85@@ -69,6 +69,8 @@
86 self.on_button_remove_images_clicked,
87 "on_button_edit_images_clicked" :
88 self.on_button_edit_images_clicked,
89+ "on_hidden_files_folders_checkbox_toggled" :
90+ self.on_hidden_files_folders_checkbox_toggled,
91 "on_button_add_feed_clicked" :
92 self.on_button_add_feed_clicked,
93 "on_button_remove_feed_clicked" :
94@@ -329,6 +331,11 @@
95 self.config.write_content_value("Images", "folders",
96 str_folders)
97
98+ def on_hidden_files_folders_checkbox_toggled(self, widget):
99+ """If True hidden files and folders will be added to image library."""
100+ self.config.write_content_value("Images",
101+ "display_hidden_files_folders", widget.get_active())
102+
103 def on_button_add_feed_clicked(self, widget):
104 """Opens add feed dialog. """
105 widget = self.widgets.get_widget("treeview_feeds")
106@@ -693,6 +700,12 @@
107
108 imagelist_widget.set_model(images_model)
109
110+ # Checkboxes
111+ hidden_checkbox = self.widgets.get_widget(
112+ "hidden_files_folders_checkbox")
113+ hidden_val = self.config.display_hidden_files_folders()
114+ hidden_checkbox.set_active(hidden_val)
115+
116 # == RSS-feeds ==
117 feedlist_widget = self.widgets.get_widget("treeview_feeds")
118 feed_model = gtk.ListStore(str)
119
120=== modified file 'entertainerlib/utils/glade/entertainer-content-management.glade'
121--- entertainerlib/utils/glade/entertainer-content-management.glade 2008-10-21 19:39:30 +0000
122+++ entertainerlib/utils/glade/entertainer-content-management.glade 2009-05-31 16:36:18 +0000
123@@ -1,15 +1,15 @@
124-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
125-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
126-<!--*- mode: xml -*-->
127+<?xml version="1.0"?>
128 <glade-interface>
129+ <!-- interface-requires gtk+ 2.16 -->
130+ <!-- interface-naming-policy toplevel-contextual -->
131 <widget class="GtkDialog" id="ContentManagementDialog">
132 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
133 <property name="border_width">5</property>
134 <property name="title" translatable="yes">Content management</property>
135 <property name="modal">True</property>
136- <property name="window_position">GTK_WIN_POS_CENTER</property>
137+ <property name="window_position">center</property>
138 <property name="icon_name">applications-multimedia</property>
139- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
140+ <property name="type_hint">dialog</property>
141 <property name="has_separator">False</property>
142 <signal name="destroy" handler="on_ContentManagementDialog_destroy"/>
143 <child internal-child="vbox">
144@@ -34,7 +34,7 @@
145 <property name="visible">True</property>
146 <property name="border_width">5</property>
147 <property name="label_xalign">0</property>
148- <property name="shadow_type">GTK_SHADOW_NONE</property>
149+ <property name="shadow_type">none</property>
150 <child>
151 <widget class="GtkAlignment" id="alignment1">
152 <property name="visible">True</property>
153@@ -52,6 +52,7 @@
154 <packing>
155 <property name="expand">False</property>
156 <property name="padding">5</property>
157+ <property name="position">0</property>
158 </packing>
159 </child>
160 <child>
161@@ -61,9 +62,9 @@
162 <widget class="GtkScrolledWindow" id="scrolledwindow1">
163 <property name="visible">True</property>
164 <property name="can_focus">True</property>
165- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
166- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
167- <property name="shadow_type">GTK_SHADOW_IN</property>
168+ <property name="hscrollbar_policy">automatic</property>
169+ <property name="vscrollbar_policy">automatic</property>
170+ <property name="shadow_type">in</property>
171 <child>
172 <widget class="GtkTreeView" id="treeview_videos">
173 <property name="visible">True</property>
174@@ -73,48 +74,60 @@
175 </widget>
176 </child>
177 </widget>
178+ <packing>
179+ <property name="position">0</property>
180+ </packing>
181 </child>
182 <child>
183 <widget class="GtkVButtonBox" id="vbuttonbox1">
184 <property name="visible">True</property>
185 <property name="spacing">5</property>
186- <property name="layout_style">GTK_BUTTONBOX_START</property>
187+ <property name="layout_style">start</property>
188 <child>
189 <widget class="GtkButton" id="button_add_videos">
190+ <property name="label">gtk-add</property>
191 <property name="visible">True</property>
192 <property name="can_focus">True</property>
193 <property name="has_focus">True</property>
194 <property name="can_default">True</property>
195 <property name="has_default">True</property>
196- <property name="label">gtk-add</property>
197+ <property name="receives_default">False</property>
198 <property name="use_stock">True</property>
199- <property name="response_id">0</property>
200 <signal name="clicked" handler="on_button_add_videos_clicked"/>
201 </widget>
202+ <packing>
203+ <property name="expand">False</property>
204+ <property name="fill">False</property>
205+ <property name="position">0</property>
206+ </packing>
207 </child>
208 <child>
209 <widget class="GtkButton" id="button_remove_videos">
210- <property name="visible">True</property>
211- <property name="can_focus">True</property>
212 <property name="label">gtk-remove</property>
213+ <property name="visible">True</property>
214+ <property name="can_focus">True</property>
215+ <property name="receives_default">False</property>
216 <property name="use_stock">True</property>
217- <property name="response_id">0</property>
218 <signal name="clicked" handler="on_button_remove_videos_clicked"/>
219 </widget>
220 <packing>
221+ <property name="expand">False</property>
222+ <property name="fill">False</property>
223 <property name="position">1</property>
224 </packing>
225 </child>
226 <child>
227 <widget class="GtkButton" id="button_edit_videos">
228- <property name="visible">True</property>
229- <property name="can_focus">True</property>
230 <property name="label">gtk-edit</property>
231+ <property name="visible">True</property>
232+ <property name="can_focus">True</property>
233+ <property name="receives_default">False</property>
234 <property name="use_stock">True</property>
235- <property name="response_id">0</property>
236 <signal name="clicked" handler="on_button_edit_videos_clicked"/>
237 </widget>
238 <packing>
239+ <property name="expand">False</property>
240+ <property name="fill">False</property>
241 <property name="position">2</property>
242 </packing>
243 </child>
244@@ -145,23 +158,26 @@
245 </packing>
246 </child>
247 </widget>
248+ <packing>
249+ <property name="position">0</property>
250+ </packing>
251 </child>
252 <child>
253 <widget class="GtkFrame" id="frame1">
254 <property name="visible">True</property>
255 <property name="label_xalign">0</property>
256- <property name="shadow_type">GTK_SHADOW_NONE</property>
257+ <property name="shadow_type">none</property>
258 <child>
259 <widget class="GtkAlignment" id="alignment2">
260 <property name="visible">True</property>
261 <property name="left_padding">12</property>
262 <child>
263 <widget class="GtkCheckButton" id="video_metadata_checkbox">
264- <property name="visible">True</property>
265- <property name="can_focus">True</property>
266 <property name="label" translatable="yes">Download movie and TV-series metadata</property>
267+ <property name="visible">True</property>
268+ <property name="can_focus">True</property>
269+ <property name="receives_default">False</property>
270 <property name="use_underline">True</property>
271- <property name="response_id">0</property>
272 <property name="draw_indicator">True</property>
273 <signal name="toggled" handler="on_checkbutton_video_metadata_toggled"/>
274 </widget>
275@@ -184,6 +200,9 @@
276 </packing>
277 </child>
278 </widget>
279+ <packing>
280+ <property name="position">0</property>
281+ </packing>
282 </child>
283 </widget>
284 </child>
285@@ -196,8 +215,8 @@
286 <property name="label" translatable="yes">Videos</property>
287 </widget>
288 <packing>
289+ <property name="tab_fill">False</property>
290 <property name="type">tab</property>
291- <property name="tab_fill">False</property>
292 </packing>
293 </child>
294 <child>
295@@ -208,7 +227,7 @@
296 <property name="visible">True</property>
297 <property name="border_width">5</property>
298 <property name="label_xalign">0</property>
299- <property name="shadow_type">GTK_SHADOW_NONE</property>
300+ <property name="shadow_type">none</property>
301 <child>
302 <widget class="GtkAlignment" id="alignment9">
303 <property name="visible">True</property>
304@@ -225,6 +244,7 @@
305 <packing>
306 <property name="expand">False</property>
307 <property name="padding">5</property>
308+ <property name="position">0</property>
309 </packing>
310 </child>
311 <child>
312@@ -234,9 +254,9 @@
313 <widget class="GtkScrolledWindow" id="scrolledwindow5">
314 <property name="visible">True</property>
315 <property name="can_focus">True</property>
316- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
317- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
318- <property name="shadow_type">GTK_SHADOW_IN</property>
319+ <property name="hscrollbar_policy">automatic</property>
320+ <property name="vscrollbar_policy">automatic</property>
321+ <property name="shadow_type">in</property>
322 <child>
323 <widget class="GtkTreeView" id="treeview_music">
324 <property name="visible">True</property>
325@@ -246,45 +266,57 @@
326 </widget>
327 </child>
328 </widget>
329+ <packing>
330+ <property name="position">0</property>
331+ </packing>
332 </child>
333 <child>
334 <widget class="GtkVButtonBox" id="vbuttonbox6">
335 <property name="visible">True</property>
336 <property name="spacing">5</property>
337- <property name="layout_style">GTK_BUTTONBOX_START</property>
338+ <property name="layout_style">start</property>
339 <child>
340 <widget class="GtkButton" id="button_add_music">
341+ <property name="label">gtk-add</property>
342 <property name="visible">True</property>
343 <property name="can_focus">True</property>
344- <property name="label">gtk-add</property>
345+ <property name="receives_default">False</property>
346 <property name="use_stock">True</property>
347- <property name="response_id">0</property>
348 <signal name="clicked" handler="on_button_add_music_clicked"/>
349 </widget>
350+ <packing>
351+ <property name="expand">False</property>
352+ <property name="fill">False</property>
353+ <property name="position">0</property>
354+ </packing>
355 </child>
356 <child>
357 <widget class="GtkButton" id="button_remove_music">
358+ <property name="label">gtk-remove</property>
359 <property name="visible">True</property>
360 <property name="can_focus">True</property>
361- <property name="label">gtk-remove</property>
362+ <property name="receives_default">False</property>
363 <property name="use_stock">True</property>
364- <property name="response_id">0</property>
365 <signal name="clicked" handler="on_button_remove_music_clicked"/>
366 </widget>
367 <packing>
368+ <property name="expand">False</property>
369+ <property name="fill">False</property>
370 <property name="position">1</property>
371 </packing>
372 </child>
373 <child>
374 <widget class="GtkButton" id="button_edit_music">
375+ <property name="label">gtk-edit</property>
376 <property name="visible">True</property>
377 <property name="can_focus">True</property>
378- <property name="label">gtk-edit</property>
379+ <property name="receives_default">False</property>
380 <property name="use_stock">True</property>
381- <property name="response_id">0</property>
382 <signal name="clicked" handler="on_button_edit_music_clicked"/>
383 </widget>
384 <packing>
385+ <property name="expand">False</property>
386+ <property name="fill">False</property>
387 <property name="position">2</property>
388 </packing>
389 </child>
390@@ -315,13 +347,16 @@
391 </packing>
392 </child>
393 </widget>
394+ <packing>
395+ <property name="position">0</property>
396+ </packing>
397 </child>
398 <child>
399 <widget class="GtkFrame" id="frame_music_lib_settings3">
400 <property name="visible">True</property>
401 <property name="border_width">5</property>
402 <property name="label_xalign">0</property>
403- <property name="shadow_type">GTK_SHADOW_NONE</property>
404+ <property name="shadow_type">none</property>
405 <child>
406 <widget class="GtkAlignment" id="alignment10">
407 <property name="visible">True</property>
408@@ -332,25 +367,26 @@
409 <property name="homogeneous">True</property>
410 <child>
411 <widget class="GtkCheckButton" id="art_checkbox">
412- <property name="visible">True</property>
413- <property name="can_focus">True</property>
414 <property name="label" translatable="yes">Download album cover art</property>
415+ <property name="visible">True</property>
416+ <property name="can_focus">True</property>
417+ <property name="receives_default">False</property>
418 <property name="use_underline">True</property>
419- <property name="response_id">0</property>
420 <property name="draw_indicator">True</property>
421 <signal name="toggled" handler="on_art_checkbox_toggled"/>
422 </widget>
423 <packing>
424 <property name="padding">5</property>
425+ <property name="position">0</property>
426 </packing>
427 </child>
428 <child>
429 <widget class="GtkCheckButton" id="lyrics_checkbox">
430- <property name="visible">True</property>
431- <property name="can_focus">True</property>
432 <property name="label" translatable="yes">Download song lyrics</property>
433+ <property name="visible">True</property>
434+ <property name="can_focus">True</property>
435+ <property name="receives_default">False</property>
436 <property name="use_underline">True</property>
437- <property name="response_id">0</property>
438 <property name="draw_indicator">True</property>
439 <signal name="toggled" handler="on_lyrics_checkbox_toggled"/>
440 </widget>
441@@ -390,9 +426,9 @@
442 <property name="label" translatable="yes">Music</property>
443 </widget>
444 <packing>
445- <property name="type">tab</property>
446 <property name="position">1</property>
447 <property name="tab_fill">False</property>
448+ <property name="type">tab</property>
449 </packing>
450 </child>
451 <child>
452@@ -403,7 +439,7 @@
453 <property name="visible">True</property>
454 <property name="border_width">5</property>
455 <property name="label_xalign">0</property>
456- <property name="shadow_type">GTK_SHADOW_NONE</property>
457+ <property name="shadow_type">none</property>
458 <child>
459 <widget class="GtkAlignment" id="alignment11">
460 <property name="visible">True</property>
461@@ -420,6 +456,7 @@
462 <packing>
463 <property name="expand">False</property>
464 <property name="padding">5</property>
465+ <property name="position">0</property>
466 </packing>
467 </child>
468 <child>
469@@ -429,9 +466,9 @@
470 <widget class="GtkScrolledWindow" id="scrolledwindow6">
471 <property name="visible">True</property>
472 <property name="can_focus">True</property>
473- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
474- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
475- <property name="shadow_type">GTK_SHADOW_IN</property>
476+ <property name="hscrollbar_policy">automatic</property>
477+ <property name="vscrollbar_policy">automatic</property>
478+ <property name="shadow_type">in</property>
479 <child>
480 <widget class="GtkTreeView" id="treeview_images">
481 <property name="visible">True</property>
482@@ -441,45 +478,57 @@
483 </widget>
484 </child>
485 </widget>
486+ <packing>
487+ <property name="position">0</property>
488+ </packing>
489 </child>
490 <child>
491 <widget class="GtkVButtonBox" id="vbuttonbox7">
492 <property name="visible">True</property>
493 <property name="spacing">5</property>
494- <property name="layout_style">GTK_BUTTONBOX_START</property>
495+ <property name="layout_style">start</property>
496 <child>
497 <widget class="GtkButton" id="button_add_images">
498+ <property name="label">gtk-add</property>
499 <property name="visible">True</property>
500 <property name="can_focus">True</property>
501- <property name="label">gtk-add</property>
502+ <property name="receives_default">False</property>
503 <property name="use_stock">True</property>
504- <property name="response_id">0</property>
505 <signal name="clicked" handler="on_button_add_images_clicked"/>
506 </widget>
507+ <packing>
508+ <property name="expand">False</property>
509+ <property name="fill">False</property>
510+ <property name="position">0</property>
511+ </packing>
512 </child>
513 <child>
514 <widget class="GtkButton" id="button_remove_images">
515+ <property name="label">gtk-remove</property>
516 <property name="visible">True</property>
517 <property name="can_focus">True</property>
518- <property name="label">gtk-remove</property>
519+ <property name="receives_default">False</property>
520 <property name="use_stock">True</property>
521- <property name="response_id">0</property>
522 <signal name="clicked" handler="on_button_remove_images_clicked"/>
523 </widget>
524 <packing>
525+ <property name="expand">False</property>
526+ <property name="fill">False</property>
527 <property name="position">1</property>
528 </packing>
529 </child>
530 <child>
531 <widget class="GtkButton" id="button_edit_images">
532+ <property name="label">gtk-edit</property>
533 <property name="visible">True</property>
534 <property name="can_focus">True</property>
535- <property name="label">gtk-edit</property>
536+ <property name="receives_default">False</property>
537 <property name="use_stock">True</property>
538- <property name="response_id">0</property>
539 <signal name="clicked" handler="on_button_edit_images_clicked"/>
540 </widget>
541 <packing>
542+ <property name="expand">False</property>
543+ <property name="fill">False</property>
544 <property name="position">2</property>
545 </packing>
546 </child>
547@@ -510,13 +559,16 @@
548 </packing>
549 </child>
550 </widget>
551+ <packing>
552+ <property name="position">0</property>
553+ </packing>
554 </child>
555 <child>
556 <widget class="GtkFrame" id="frame_image_lib_settings3">
557 <property name="visible">True</property>
558 <property name="border_width">5</property>
559 <property name="label_xalign">0</property>
560- <property name="shadow_type">GTK_SHADOW_NONE</property>
561+ <property name="shadow_type">none</property>
562 <child>
563 <widget class="GtkAlignment" id="alignment12">
564 <property name="visible">True</property>
565@@ -528,13 +580,14 @@
566 <placeholder/>
567 </child>
568 <child>
569- <widget class="GtkCheckButton" id="checkbutton_imglib_show_hidden3">
570+ <widget class="GtkCheckButton" id="hidden_files_folders_checkbox">
571+ <property name="label" translatable="yes">Display hidden files and folders in image library</property>
572 <property name="visible">True</property>
573 <property name="can_focus">True</property>
574- <property name="label" translatable="yes">Display hidden folders in image library</property>
575+ <property name="receives_default">False</property>
576 <property name="use_underline">True</property>
577- <property name="response_id">0</property>
578 <property name="draw_indicator">True</property>
579+ <signal name="toggled" handler="on_hidden_files_folders_checkbox_toggled"/>
580 </widget>
581 <packing>
582 <property name="padding">5</property>
583@@ -572,9 +625,9 @@
584 <property name="label" translatable="yes">Images</property>
585 </widget>
586 <packing>
587- <property name="type">tab</property>
588 <property name="position">2</property>
589 <property name="tab_fill">False</property>
590+ <property name="type">tab</property>
591 </packing>
592 </child>
593 <child>
594@@ -585,7 +638,7 @@
595 <property name="visible">True</property>
596 <property name="border_width">5</property>
597 <property name="label_xalign">0</property>
598- <property name="shadow_type">GTK_SHADOW_NONE</property>
599+ <property name="shadow_type">none</property>
600 <child>
601 <widget class="GtkAlignment" id="alignment13">
602 <property name="visible">True</property>
603@@ -602,6 +655,7 @@
604 <packing>
605 <property name="expand">False</property>
606 <property name="padding">5</property>
607+ <property name="position">0</property>
608 </packing>
609 </child>
610 <child>
611@@ -611,9 +665,9 @@
612 <widget class="GtkScrolledWindow" id="scrolledwindow_rss3">
613 <property name="visible">True</property>
614 <property name="can_focus">True</property>
615- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
616- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
617- <property name="shadow_type">GTK_SHADOW_IN</property>
618+ <property name="hscrollbar_policy">automatic</property>
619+ <property name="vscrollbar_policy">automatic</property>
620+ <property name="shadow_type">in</property>
621 <child>
622 <widget class="GtkTreeView" id="treeview_feeds">
623 <property name="visible">True</property>
624@@ -623,62 +677,76 @@
625 </widget>
626 </child>
627 </widget>
628+ <packing>
629+ <property name="position">0</property>
630+ </packing>
631 </child>
632 <child>
633 <widget class="GtkVButtonBox" id="vbuttonbox8">
634 <property name="visible">True</property>
635 <property name="spacing">5</property>
636- <property name="layout_style">GTK_BUTTONBOX_START</property>
637+ <property name="layout_style">start</property>
638 <child>
639 <widget class="GtkButton" id="button_add_feed">
640+ <property name="label">gtk-add</property>
641 <property name="visible">True</property>
642 <property name="can_focus">True</property>
643+ <property name="receives_default">False</property>
644 <property name="tooltip" translatable="yes">Add RSS Feed</property>
645- <property name="label">gtk-add</property>
646 <property name="use_stock">True</property>
647- <property name="response_id">0</property>
648 <signal name="clicked" handler="on_button_add_feed_clicked"/>
649 </widget>
650+ <packing>
651+ <property name="expand">False</property>
652+ <property name="fill">False</property>
653+ <property name="position">0</property>
654+ </packing>
655 </child>
656 <child>
657 <widget class="GtkButton" id="button_remove_feed">
658+ <property name="label">gtk-remove</property>
659 <property name="visible">True</property>
660 <property name="can_focus">True</property>
661+ <property name="receives_default">False</property>
662 <property name="tooltip" translatable="yes">Remove RSS Feed</property>
663- <property name="label">gtk-remove</property>
664 <property name="use_stock">True</property>
665- <property name="response_id">0</property>
666 <signal name="clicked" handler="on_button_remove_feed_clicked"/>
667 </widget>
668 <packing>
669+ <property name="expand">False</property>
670+ <property name="fill">False</property>
671 <property name="position">1</property>
672 </packing>
673 </child>
674 <child>
675 <widget class="GtkButton" id="button_edit_feed">
676+ <property name="label">gtk-edit</property>
677 <property name="visible">True</property>
678 <property name="can_focus">True</property>
679+ <property name="receives_default">False</property>
680 <property name="tooltip" translatable="yes">Edit current item</property>
681- <property name="label">gtk-edit</property>
682 <property name="use_stock">True</property>
683- <property name="response_id">0</property>
684 <signal name="clicked" handler="on_button_edit_feed_clicked"/>
685 </widget>
686 <packing>
687+ <property name="expand">False</property>
688+ <property name="fill">False</property>
689 <property name="position">2</property>
690 </packing>
691 </child>
692 <child>
693 <widget class="GtkButton" id="button_open_list">
694+ <property name="label">gtk-open</property>
695 <property name="visible">True</property>
696 <property name="can_focus">True</property>
697+ <property name="receives_default">False</property>
698 <property name="tooltip" translatable="yes">Add feeds from a datasource</property>
699- <property name="label">gtk-open</property>
700 <property name="use_stock">True</property>
701- <property name="response_id">0</property>
702 <signal name="clicked" handler="on_button_open_list_clicked"/>
703 </widget>
704 <packing>
705+ <property name="expand">False</property>
706+ <property name="fill">False</property>
707 <property name="position">3</property>
708 </packing>
709 </child>
710@@ -709,13 +777,16 @@
711 </packing>
712 </child>
713 </widget>
714+ <packing>
715+ <property name="position">0</property>
716+ </packing>
717 </child>
718 <child>
719 <widget class="GtkFrame" id="frame_feed_settings3">
720 <property name="visible">True</property>
721 <property name="border_width">5</property>
722 <property name="label_xalign">0</property>
723- <property name="shadow_type">GTK_SHADOW_NONE</property>
724+ <property name="shadow_type">none</property>
725 <child>
726 <widget class="GtkAlignment" id="alignment14">
727 <property name="visible">True</property>
728@@ -733,6 +804,7 @@
729 </widget>
730 <packing>
731 <property name="expand">False</property>
732+ <property name="position">0</property>
733 </packing>
734 </child>
735 <child>
736@@ -765,6 +837,7 @@
737 <packing>
738 <property name="expand">False</property>
739 <property name="padding">10</property>
740+ <property name="position">0</property>
741 </packing>
742 </child>
743 </widget>
744@@ -798,9 +871,9 @@
745 <property name="label" translatable="yes">RSS feeds</property>
746 </widget>
747 <packing>
748- <property name="type">tab</property>
749 <property name="position">3</property>
750 <property name="tab_fill">False</property>
751+ <property name="type">tab</property>
752 </packing>
753 </child>
754 <child>
755@@ -811,7 +884,7 @@
756 <property name="visible">True</property>
757 <property name="border_width">5</property>
758 <property name="label_xalign">0</property>
759- <property name="shadow_type">GTK_SHADOW_NONE</property>
760+ <property name="shadow_type">none</property>
761 <child>
762 <widget class="GtkAlignment" id="alignment5">
763 <property name="visible">True</property>
764@@ -829,6 +902,7 @@
765 <packing>
766 <property name="expand">False</property>
767 <property name="padding">5</property>
768+ <property name="position">0</property>
769 </packing>
770 </child>
771 <child>
772@@ -838,9 +912,9 @@
773 <widget class="GtkScrolledWindow" id="scrolledwindow3">
774 <property name="visible">True</property>
775 <property name="can_focus">True</property>
776- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
777- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
778- <property name="shadow_type">GTK_SHADOW_IN</property>
779+ <property name="hscrollbar_policy">automatic</property>
780+ <property name="vscrollbar_policy">automatic</property>
781+ <property name="shadow_type">in</property>
782 <child>
783 <widget class="GtkTreeView" id="treeview_locations">
784 <property name="visible">True</property>
785@@ -850,35 +924,45 @@
786 </widget>
787 </child>
788 </widget>
789+ <packing>
790+ <property name="position">0</property>
791+ </packing>
792 </child>
793 <child>
794 <widget class="GtkVButtonBox" id="vbuttonbox3">
795 <property name="visible">True</property>
796 <property name="spacing">5</property>
797- <property name="layout_style">GTK_BUTTONBOX_START</property>
798+ <property name="layout_style">start</property>
799 <child>
800 <widget class="GtkButton" id="button_add_weather">
801+ <property name="label">gtk-new</property>
802 <property name="visible">True</property>
803 <property name="can_focus">True</property>
804 <property name="has_focus">True</property>
805 <property name="can_default">True</property>
806 <property name="has_default">True</property>
807- <property name="label">gtk-new</property>
808+ <property name="receives_default">False</property>
809 <property name="use_stock">True</property>
810- <property name="response_id">0</property>
811 <signal name="clicked" handler="on_button_add_weather_clicked"/>
812 </widget>
813+ <packing>
814+ <property name="expand">False</property>
815+ <property name="fill">False</property>
816+ <property name="position">0</property>
817+ </packing>
818 </child>
819 <child>
820 <widget class="GtkButton" id="button_remove_weather">
821- <property name="visible">True</property>
822- <property name="can_focus">True</property>
823 <property name="label">gtk-clear</property>
824+ <property name="visible">True</property>
825+ <property name="can_focus">True</property>
826+ <property name="receives_default">False</property>
827 <property name="use_stock">True</property>
828- <property name="response_id">0</property>
829 <signal name="clicked" handler="on_button_remove_weather_clicked"/>
830 </widget>
831 <packing>
832+ <property name="expand">False</property>
833+ <property name="fill">False</property>
834 <property name="position">1</property>
835 </packing>
836 </child>
837@@ -909,12 +993,15 @@
838 </packing>
839 </child>
840 </widget>
841+ <packing>
842+ <property name="position">0</property>
843+ </packing>
844 </child>
845 <child>
846 <widget class="GtkFrame" id="frame4">
847 <property name="visible">True</property>
848 <property name="label_xalign">0</property>
849- <property name="shadow_type">GTK_SHADOW_NONE</property>
850+ <property name="shadow_type">none</property>
851 <child>
852 <widget class="GtkAlignment" id="alignment7">
853 <property name="visible">True</property>
854@@ -924,17 +1011,18 @@
855 <property name="visible">True</property>
856 <child>
857 <widget class="GtkCheckButton" id="weather_display_checkbox">
858- <property name="visible">True</property>
859- <property name="can_focus">True</property>
860 <property name="label" translatable="yes">Display weather option in main menu</property>
861+ <property name="visible">True</property>
862+ <property name="can_focus">True</property>
863+ <property name="receives_default">False</property>
864 <property name="use_underline">True</property>
865- <property name="response_id">0</property>
866 <property name="active">True</property>
867 <property name="draw_indicator">True</property>
868 <signal name="toggled" handler="on_weather_display_checkbox_toggled"/>
869 </widget>
870 <packing>
871 <property name="fill">False</property>
872+ <property name="position">0</property>
873 </packing>
874 </child>
875 </widget>
876@@ -968,9 +1056,9 @@
877 <property name="label" translatable="yes">Weather</property>
878 </widget>
879 <packing>
880- <property name="type">tab</property>
881 <property name="position">4</property>
882 <property name="tab_fill">False</property>
883+ <property name="type">tab</property>
884 </packing>
885 </child>
886 <child>
887@@ -978,7 +1066,7 @@
888 <property name="visible">True</property>
889 <property name="border_width">5</property>
890 <property name="label_xalign">0</property>
891- <property name="shadow_type">GTK_SHADOW_NONE</property>
892+ <property name="shadow_type">none</property>
893 <child>
894 <widget class="GtkAlignment" id="alignment3">
895 <property name="visible">True</property>
896@@ -994,15 +1082,18 @@
897 <property name="label" translatable="yes">Rebuilding cache means that all data is removed and then
898 folders are indexed again. This fixes broken media cache.</property>
899 </widget>
900+ <packing>
901+ <property name="position">0</property>
902+ </packing>
903 </child>
904 <child>
905 <widget class="GtkButton" id="button_video_rebuild">
906- <property name="visible">True</property>
907- <property name="can_focus">True</property>
908- <property name="border_width">5</property>
909 <property name="label" translatable="yes">Rebuild video cache</property>
910+ <property name="visible">True</property>
911+ <property name="can_focus">True</property>
912+ <property name="receives_default">False</property>
913+ <property name="border_width">5</property>
914 <property name="use_underline">True</property>
915- <property name="response_id">0</property>
916 <signal name="clicked" handler="on_button_video_rebuild_clicked"/>
917 </widget>
918 <packing>
919@@ -1011,12 +1102,12 @@
920 </child>
921 <child>
922 <widget class="GtkButton" id="button_music_rebuild">
923- <property name="visible">True</property>
924- <property name="can_focus">True</property>
925- <property name="border_width">5</property>
926 <property name="label" translatable="yes">Rebuild music cache</property>
927+ <property name="visible">True</property>
928+ <property name="can_focus">True</property>
929+ <property name="receives_default">False</property>
930+ <property name="border_width">5</property>
931 <property name="use_underline">True</property>
932- <property name="response_id">0</property>
933 <signal name="clicked" handler="on_button_music_rebuild_clicked"/>
934 </widget>
935 <packing>
936@@ -1025,12 +1116,12 @@
937 </child>
938 <child>
939 <widget class="GtkButton" id="button_image_rebuild">
940- <property name="visible">True</property>
941- <property name="can_focus">True</property>
942- <property name="border_width">5</property>
943 <property name="label" translatable="yes">Rebuild image cache</property>
944+ <property name="visible">True</property>
945+ <property name="can_focus">True</property>
946+ <property name="receives_default">False</property>
947+ <property name="border_width">5</property>
948 <property name="use_underline">True</property>
949- <property name="response_id">0</property>
950 <signal name="clicked" handler="on_button_image_rebuild_clicked"/>
951 </widget>
952 <packing>
953@@ -1039,13 +1130,13 @@
954 </child>
955 <child>
956 <widget class="GtkButton" id="button_feed_rebuild">
957- <property name="visible">True</property>
958- <property name="can_focus">True</property>
959- <property name="border_width">5</property>
960 <property name="label" translatable="yes">Rebuild RSS-feed cache</property>
961+ <property name="visible">True</property>
962+ <property name="can_focus">True</property>
963+ <property name="receives_default">False</property>
964+ <property name="border_width">5</property>
965 <property name="use_underline">True</property>
966 <property name="focus_on_click">False</property>
967- <property name="response_id">0</property>
968 <signal name="clicked" handler="on_button_feed_rebuild_clicked"/>
969 </widget>
970 <packing>
971@@ -1077,9 +1168,9 @@
972 <property name="label" translatable="yes">Reset</property>
973 </widget>
974 <packing>
975- <property name="type">tab</property>
976 <property name="position">5</property>
977 <property name="tab_fill">False</property>
978+ <property name="type">tab</property>
979 </packing>
980 </child>
981 </widget>
982@@ -1090,21 +1181,27 @@
983 <child internal-child="action_area">
984 <widget class="GtkHButtonBox" id="dialog-closebutton-area">
985 <property name="visible">True</property>
986- <property name="layout_style">GTK_BUTTONBOX_END</property>
987+ <property name="layout_style">end</property>
988 <child>
989 <widget class="GtkButton" id="close_button">
990- <property name="visible">True</property>
991- <property name="can_focus">True</property>
992 <property name="label">gtk-close</property>
993+ <property name="visible">True</property>
994+ <property name="can_focus">True</property>
995+ <property name="receives_default">False</property>
996 <property name="use_stock">True</property>
997- <property name="response_id">0</property>
998 <signal name="clicked" handler="on_close_button_clicked"/>
999 </widget>
1000+ <packing>
1001+ <property name="expand">False</property>
1002+ <property name="fill">False</property>
1003+ <property name="position">0</property>
1004+ </packing>
1005 </child>
1006 </widget>
1007 <packing>
1008 <property name="expand">False</property>
1009- <property name="pack_type">GTK_PACK_END</property>
1010+ <property name="pack_type">end</property>
1011+ <property name="position">0</property>
1012 </packing>
1013 </child>
1014 </widget>
1015@@ -1115,10 +1212,10 @@
1016 <property name="border_width">5</property>
1017 <property name="resizable">False</property>
1018 <property name="modal">True</property>
1019- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
1020+ <property name="window_position">center-on-parent</property>
1021 <property name="destroy_with_parent">True</property>
1022 <property name="icon_name">gtk-edit</property>
1023- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
1024+ <property name="type_hint">normal</property>
1025 <property name="skip_taskbar_hint">True</property>
1026 <property name="has_separator">False</property>
1027 <signal name="delete_event" handler="on_url_dialog_delete_event"/>
1028@@ -1137,6 +1234,7 @@
1029 <packing>
1030 <property name="expand">False</property>
1031 <property name="padding">5</property>
1032+ <property name="position">0</property>
1033 </packing>
1034 </child>
1035 <child>
1036@@ -1160,34 +1258,42 @@
1037 <child internal-child="action_area">
1038 <widget class="GtkHButtonBox" id="dialog-action_area2">
1039 <property name="visible">True</property>
1040- <property name="layout_style">GTK_BUTTONBOX_END</property>
1041+ <property name="layout_style">end</property>
1042 <child>
1043 <widget class="GtkButton" id="url_dialog_cancel_button">
1044+ <property name="label">gtk-cancel</property>
1045 <property name="visible">True</property>
1046 <property name="can_focus">True</property>
1047- <property name="label">gtk-cancel</property>
1048+ <property name="receives_default">False</property>
1049 <property name="use_stock">True</property>
1050- <property name="response_id">0</property>
1051 <signal name="clicked" handler="on_url_dialog_cancel_button_clicked"/>
1052 </widget>
1053+ <packing>
1054+ <property name="expand">False</property>
1055+ <property name="fill">False</property>
1056+ <property name="position">0</property>
1057+ </packing>
1058 </child>
1059 <child>
1060 <widget class="GtkButton" id="url_dialog_ok_button">
1061- <property name="visible">True</property>
1062- <property name="can_focus">True</property>
1063 <property name="label">gtk-ok</property>
1064+ <property name="visible">True</property>
1065+ <property name="can_focus">True</property>
1066+ <property name="receives_default">False</property>
1067 <property name="use_stock">True</property>
1068- <property name="response_id">0</property>
1069 <signal name="clicked" handler="on_url_dialog_ok_button_clicked"/>
1070 </widget>
1071 <packing>
1072+ <property name="expand">False</property>
1073+ <property name="fill">False</property>
1074 <property name="position">1</property>
1075 </packing>
1076 </child>
1077 </widget>
1078 <packing>
1079 <property name="expand">False</property>
1080- <property name="pack_type">GTK_PACK_END</property>
1081+ <property name="pack_type">end</property>
1082+ <property name="position">0</property>
1083 </packing>
1084 </child>
1085 </widget>
1086@@ -1196,8 +1302,8 @@
1087 <widget class="GtkDialog" id="weather_search_dialog">
1088 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1089 <property name="border_width">5</property>
1090- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
1091- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
1092+ <property name="window_position">center-on-parent</property>
1093+ <property name="type_hint">dialog</property>
1094 <property name="has_separator">False</property>
1095 <child internal-child="vbox">
1096 <widget class="GtkVBox" id="vbox20">
1097@@ -1210,7 +1316,7 @@
1098 <widget class="GtkFrame" id="frame6">
1099 <property name="visible">True</property>
1100 <property name="label_xalign">0</property>
1101- <property name="shadow_type">GTK_SHADOW_NONE</property>
1102+ <property name="shadow_type">none</property>
1103 <child>
1104 <widget class="GtkAlignment" id="alignment16">
1105 <property name="visible">True</property>
1106@@ -1226,6 +1332,7 @@
1107 </widget>
1108 <packing>
1109 <property name="expand">False</property>
1110+ <property name="position">0</property>
1111 </packing>
1112 </child>
1113 <child>
1114@@ -1245,11 +1352,11 @@
1115 </child>
1116 <child>
1117 <widget class="GtkButton" id="location_find_button">
1118- <property name="visible">True</property>
1119- <property name="can_focus">True</property>
1120 <property name="label">gtk-find</property>
1121+ <property name="visible">True</property>
1122+ <property name="can_focus">True</property>
1123+ <property name="receives_default">False</property>
1124 <property name="use_stock">True</property>
1125- <property name="response_id">0</property>
1126 <signal name="clicked" handler="on_location_find_button_clicked"/>
1127 </widget>
1128 <packing>
1129@@ -1275,13 +1382,14 @@
1130 <packing>
1131 <property name="expand">False</property>
1132 <property name="padding">5</property>
1133+ <property name="position">0</property>
1134 </packing>
1135 </child>
1136 <child>
1137 <widget class="GtkFrame" id="frame7">
1138 <property name="visible">True</property>
1139 <property name="label_xalign">0</property>
1140- <property name="shadow_type">GTK_SHADOW_NONE</property>
1141+ <property name="shadow_type">none</property>
1142 <child>
1143 <widget class="GtkAlignment" id="alignment17">
1144 <property name="visible">True</property>
1145@@ -1291,9 +1399,9 @@
1146 <property name="visible">True</property>
1147 <property name="can_focus">True</property>
1148 <property name="border_width">5</property>
1149- <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
1150- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
1151- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
1152+ <property name="hscrollbar_policy">never</property>
1153+ <property name="vscrollbar_policy">automatic</property>
1154+ <property name="shadow_type">etched-in</property>
1155 <child>
1156 <widget class="GtkTreeView" id="location_results_treeview">
1157 <property name="visible">True</property>
1158@@ -1329,34 +1437,42 @@
1159 <child internal-child="action_area">
1160 <widget class="GtkHButtonBox" id="hbuttonbox1">
1161 <property name="visible">True</property>
1162- <property name="layout_style">GTK_BUTTONBOX_END</property>
1163+ <property name="layout_style">end</property>
1164 <child>
1165 <widget class="GtkButton" id="location_button_cancel">
1166+ <property name="label">gtk-cancel</property>
1167 <property name="visible">True</property>
1168 <property name="can_focus">True</property>
1169- <property name="label">gtk-cancel</property>
1170+ <property name="receives_default">False</property>
1171 <property name="use_stock">True</property>
1172- <property name="response_id">0</property>
1173 <signal name="clicked" handler="on_location_cancel_button_clicked"/>
1174 </widget>
1175+ <packing>
1176+ <property name="expand">False</property>
1177+ <property name="fill">False</property>
1178+ <property name="position">0</property>
1179+ </packing>
1180 </child>
1181 <child>
1182 <widget class="GtkButton" id="location_add_button">
1183- <property name="visible">True</property>
1184- <property name="can_focus">True</property>
1185 <property name="label">gtk-add</property>
1186+ <property name="visible">True</property>
1187+ <property name="can_focus">True</property>
1188+ <property name="receives_default">False</property>
1189 <property name="use_stock">True</property>
1190- <property name="response_id">0</property>
1191 <signal name="clicked" handler="on_location_add_button_clicked"/>
1192 </widget>
1193 <packing>
1194+ <property name="expand">False</property>
1195+ <property name="fill">False</property>
1196 <property name="position">1</property>
1197 </packing>
1198 </child>
1199 </widget>
1200 <packing>
1201 <property name="expand">False</property>
1202- <property name="pack_type">GTK_PACK_END</property>
1203+ <property name="pack_type">end</property>
1204+ <property name="position">0</property>
1205 </packing>
1206 </child>
1207 </widget>

Subscribers

People subscribed via source and target branches