Merge lp:~rockstar/entertainer/dialog-magics into lp:entertainer/future

Proposed by Paul Hummer
Status: Merged
Approved by: Paul Hummer
Approved revision: 376
Merged at revision: not available
Proposed branch: lp:~rockstar/entertainer/dialog-magics
Merge into: lp:entertainer/future
Diff against target: None lines
To merge this branch: bzr merge lp:~rockstar/entertainer/dialog-magics
Reviewer Review Type Date Requested Status
Matt Layman Approve
Samuel Buffet (community) Approve
Review via email: mp+8719@code.launchpad.net

Commit message

Various media configuration settings are merged into a single set of configuration settings.

To post a comment you must log in.
Revision history for this message
Paul Hummer (rockstar) wrote :

This branch just merges the Video, Music, and Images sections of config into Media.

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

Paul, can you please merge in future?

I think you're going to have conflicts with the Configuration changes that landed in future when you landed the indexer branch.

Revision history for this message
Samuel Buffet (samuel-buffet) wrote :

Paul,

Not a lot of things to say except that everything looks good.

I've spent some time toying with it and it was lovely working.

Test are okay.
Lint gives me some issues but as you're actively hacking on future, you have time to fix those.

Thanks for the work,
Samuel-

A few details below :

=== modified file 'cfg/content.conf'
--- cfg/content.conf 2009-05-31 17:11:16 +0000
+++ cfg/content.conf 2009-07-14 01:00:37 +0000
 metric_units = True

> Maybe you can remove that "metric_units" it's deprecated.

=== modified file 'entertainerlib/dialog.py'
--- entertainerlib/dialog.py 2009-06-30 01:06:01 +0000
+++ entertainerlib/dialog.py 2009-07-14 00:56:36 +0000
@@ -50,33 +50,25 @@

     def on_url_dialog_ok_button_clicked(self, widget):
@@ -555,9 +434,9 @@
         """
         self.on_location_find_button_clicked(widget)

- def on_button_video_rebuild_clicked(self, widget):
+ def on_button_media_rebuild_clicked(self, widget):
         """
- Rebuild video cache requested
+ Rebuild media cache requested
         @param widget: GTK-Widget
         """
> Can you also remove the @param here and place everything on one line.
> Thanks.

=== modified file 'entertainerlib/tests/test_configuration.py'
--- entertainerlib/tests/test_configuration.py 2009-06-30 01:06:01 +0000
+++ entertainerlib/tests/test_configuration.py 2009-07-14 01:04:31 +0000
@@ -108,11 +108,6 @@
         '''Test getting the slideshow step'''
         self.assertEqual(self.configuration.get_slideshow_step(), 5)

- def test_hidden_files_folders(self):
- """Test getting the `display_hidden_files_folders` setting."""
- self.assertEqual(self.configuration.display_hidden_files_folders(),
- False)
-

> Why did you keep the setting in content-conf and removed the test?

review: Approve
376. By Paul Hummer

Merge from fiewtures, resolve teh conflix

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

The following traceback is blocking me from running Entertainer in this branch.

matt@eden:~/future-repo/paul$ ./entertainer
Entertainer backend starting...
Traceback (most recent call last):
  File "./entertainer", line 9, in <module>
    main()
  File "/home/matt/future-repo/paul/entertainerlib/client/__init__.py", line 32, in main
    BackendServer()
  File "/home/matt/future-repo/paul/entertainerlib/backend/backend_server.py", line 60, in __init__
    self.initialize_media_cache_manager()
  File "/home/matt/future-repo/paul/entertainerlib/backend/backend_server.py", line 98, in initialize_media_cache_manager
    self.media_manager = MediaCacheManager()
  File "/home/matt/future-repo/paul/entertainerlib/backend/components/mediacache/media_cache_manager.py", line 26, in __init__
    self.video_folders = self.config.get_video_folders()
AttributeError: 'Configuration' object has no attribute 'get_video_folders'

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

content.cfg:
 * Please remove display_hidden_files_folders because it doesn't do anything.
 * As Samuel said, please also remove metric_units for the same reason.

Other than that, I have no problem with this branch.

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

Paul, could you please merge this branch to future before this weekend's sprint? I won't able to hack at all this week because of take home final, but I'd like to be able to hit the ground running on Saturday (since I'll be touching Configuration stuff and this branch affects that code).

Thanks,
Matt

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-31 17:11:16 +0000
3+++ cfg/content.conf 2009-07-14 01:00:37 +0000
4@@ -1,26 +1,24 @@
5 # Copyright (c) 2009 Entertainer Developers - See COPYING - GPLv2
6-[Images]
7-folders =
8+[Media]
9+download_lyrics = False
10+download_album_art = True
11+download_metadata = True
12+display_eject_in_menu = False
13+
14 display_hidden_files_folders = False
15
16+
17 [Weather]
18 location = Bath,England
19 display_in_menu = True
20 metric_units = True
21
22-[Music]
23-folders =
24-download_lyrics = False
25-download_album_art = True
26-
27-[Videos]
28-folders =
29-download_metadata = True
30
31 [RSS]
32-feeds = http://theironlion.net/feeds/blog;http://www.joshuascotton.com/main/archives/tag/entertainer/feed;http://laymanstermsdev.wordpress.com/feed
33+feeds = http://theironlion.net/blog/feed;http://www.joshuascotton.com/main/archives/tag/entertainer/feed;http://laymanstermsdev.wordpress.com/feed
34 fetch_interval = 15
35
36+
37 [CD]
38 display_eject_in_menu = False
39
40
41=== modified file 'entertainerlib/configuration.py'
42--- entertainerlib/configuration.py 2009-06-30 01:06:01 +0000
43+++ entertainerlib/configuration.py 2009-07-14 00:56:36 +0000
44@@ -33,7 +33,7 @@
45 TEST_DIR = None
46
47 # This dictionary keeps track of data values that are written to config
48- # files but need to be returned to a known state while testing.
49+ # files
50 _tainted = {}
51
52 # This dictionary keeps track of data values that are tainted in memory
53@@ -75,24 +75,7 @@
54 self.ALBUM_ART_DIR = os.path.join(self.cfg_dir, 'cache/album_art')
55 self.MOVIE_ART_DIR = os.path.join(self.cfg_dir, 'cache/movie_art')
56
57- # Preferences file
58- self.preferences_conf = os.path.join(self.cfg_dir,
59- 'preferences.conf')
60-
61- # Content file
62- self.content_conf = os.path.join(self.cfg_dir, 'content.conf')
63-
64- self.content_config = ConfigParser.ConfigParser()
65- self.preferences = ConfigParser.ConfigParser()
66- try:
67- self.content_config.readfp(open(self.content_conf))
68- self.preferences.readfp(open(self.preferences_conf))
69- except ParsingError:
70- print("ParsingError with configuration file.")
71- sys.exit(1)
72- except IOError:
73- print("IOError: Couldn't read configuration file.")
74- sys.exit(1)
75+ self.read_config_files()
76
77 self.theme = Theme(self.get_theme_path())
78
79@@ -105,6 +88,25 @@
80 'host': 'localhost',
81 'port': 55545}
82
83+ def read_config_files(self):
84+ '''Read in the config files.'''
85+ self.preferences_conf = os.path.join(self.cfg_dir, 'preferences.conf')
86+ self.content_conf = os.path.join(self.cfg_dir, 'content.conf')
87+
88+ self.content_config = ConfigParser.ConfigParser()
89+ self.preferences = ConfigParser.ConfigParser()
90+ try:
91+ self.content_config.readfp(open(self.content_conf))
92+ self.preferences.readfp(open(self.preferences_conf))
93+ except ParsingError:
94+ print("ParsingError with configuration file.")
95+ sys.exit(1)
96+ except IOError:
97+ print("IOError: Couldn't read configuration file.")
98+ sys.exit(1)
99+
100+
101+
102 def create_cfg_dir(self):
103 '''Create a configuration directory and default config files.'''
104
105@@ -158,12 +160,20 @@
106 if self.TEST_DIR and not sanitize:
107 self.taint('content', section, option)
108
109- try:
110+ def write_value(section, option, value):
111+ '''Actually write the value to the section and option.'''
112 self.content_config.set(section, option, value)
113 cfg_file = file(self.content_conf, 'w')
114 self.content_config.write(cfg_file)
115+
116+ try:
117+ write_value(section, option, value)
118 except NoSectionError:
119- raise Exception("No Section to set in content.conf file")
120+ # Provide an upgrade path to additions of new sections.
121+ shutil.rmtree(self.cfg_dir)
122+ self.create_cfg_dir()
123+ self.read_config_files()
124+ write_value(section, option, value)
125 except NoOptionError:
126 raise Exception("No Option to set in content.conf file")
127
128@@ -275,41 +285,13 @@
129 return 45054 # Default port
130 return result
131
132- def get_video_folders(self):
133- """
134- Get list of video folders
135- @return:String Array
136- """
137- try:
138- video_list = self.content_config.get("Videos", "folders")
139- result = self._is_valid_media_folder(video_list.split(';'))
140- except (NoSectionError, NoOptionError):
141- return []
142- return result
143-
144- def get_music_folders(self):
145- """
146- Get list of music folders
147- @return: String Array
148- """
149- try:
150- music_list = self.content_config.get("Music", "folders")
151- result = music_list.split(';')
152- except (NoSectionError, NoOptionError):
153- return []
154- return result
155-
156- def get_image_folders(self):
157- """
158- Get list of image folders
159- @return: String Array
160- """
161- try:
162- image_list = self.content_config.get("Images", "folders")
163- result = self._is_valid_media_folder(image_list.split(';'))
164- except (NoSectionError, NoOptionError):
165- return []
166- return result
167+ def get_media_folders(self):
168+ '''Return a list of folders for media.'''
169+ try:
170+ media = self.content_config.get("Media", "folders")
171+ return self._is_valid_media_folder(media.split(';'))
172+ except (NoSectionError, NoOptionError):
173+ return []
174
175 def get_feeds(self):
176 """
177@@ -363,8 +345,8 @@
178 Get True if video metadata should be downloaded, otherwise False
179 """
180 try:
181- result = self.content_config.getboolean("Videos",
182- "download_metadata")
183+ result = self.content_config.getboolean("Media",
184+ "download_video_metadata")
185 except (NoSectionError, NoOptionError):
186 return False
187 return result
188@@ -375,7 +357,7 @@
189 @return: boolean
190 """
191 try:
192- result = self.content_config.getboolean("Music",
193+ result = self.content_config.getboolean("Media",
194 "download_album_art")
195 except (NoSectionError, NoOptionError):
196 return False
197@@ -387,16 +369,7 @@
198 @return: boolean
199 """
200 try:
201- result = self.content_config.getboolean("Music", "download_lyrics")
202- except (NoSectionError, NoOptionError):
203- return False
204- return result
205-
206- def display_hidden_files_folders(self):
207- """If True hidden files and folders will be added to image library."""
208- try:
209- result = self.content_config.getboolean("Images",
210- "display_hidden_files_folders")
211+ result = self.content_config.getboolean("Media", "download_lyrics")
212 except (NoSectionError, NoOptionError):
213 return False
214 return result
215
216=== modified file 'entertainerlib/dialog.py'
217--- entertainerlib/dialog.py 2009-06-30 01:06:01 +0000
218+++ entertainerlib/dialog.py 2009-07-14 00:56:36 +0000
219@@ -50,33 +50,25 @@
220 self.dialog = self.widgets.get_widget("ContentManagementDialog")
221 if (self.dialog):
222 callback_dic = {
223+ # Dialog-wide callbacks
224 "on_button_open_list_clicked" :
225 self.on_button_open_list_clicked,
226 "on_close_button_clicked" : self.on_close_button_clicked,
227- "on_button_remove_videos_clicked" :
228- self.on_button_remove_videos_clicked,
229- "on_button_add_videos_clicked" :
230- self.on_button_add_videos_clicked,
231- "on_button_edit_videos_clicked" :
232- self.on_button_edit_videos_clicked,
233+ "on_ContentManagementDialog_destroy" : self.on_dialog_closed,
234+
235+ # Media tab
236+ "on_button_remove_media_clicked" :
237+ self.on_button_remove_media_clicked,
238+ "on_button_add_media_clicked" :
239+ self.on_button_add_media_clicked,
240+ "on_button_edit_media_clicked" :
241+ self.on_button_edit_media_clicked,
242 "on_checkbutton_video_metadata_toggled" :
243 self.on_checkbutton_video_metadata_toggled,
244- "on_button_add_music_clicked" :
245- self.on_button_add_music_clicked,
246- "on_button_remove_music_clicked" :
247- self.on_button_remove_music_clicked,
248- "on_button_edit_music_clicked" :
249- self.on_button_edit_music_clicked,
250 "on_lyrics_checkbox_toggled" : self.on_lyrics_checkbox_toggled,
251 "on_art_checkbox_toggled" : self.on_art_checkbox_toggled,
252- "on_button_add_images_clicked" :
253- self.on_button_add_images_clicked,
254- "on_button_remove_images_clicked" :
255- self.on_button_remove_images_clicked,
256- "on_button_edit_images_clicked" :
257- self.on_button_edit_images_clicked,
258- "on_hidden_files_folders_checkbox_toggled" :
259- self.on_hidden_files_folders_checkbox_toggled,
260+
261+ # Feed tab
262 "on_button_add_feed_clicked" :
263 self.on_button_add_feed_clicked,
264 "on_button_remove_feed_clicked" :
265@@ -85,20 +77,23 @@
266 self.on_button_edit_feed_clicked,
267 "on_fetch_interval_spinbutton_value_changed" :
268 self.on_fetch_interval_spinbutton_value_changed,
269- "on_ContentManagementDialog_destroy" : self.on_dialog_closed,
270 "on_url_dialog_delete_event" : self.on_url_dialog_delete_event,
271 "on_url_dialog_ok_button_clicked" :
272 self.on_url_dialog_ok_button_clicked,
273 "on_url_dialog_cancel_button_clicked" :
274 self.on_url_dialog_cancel_button_clicked,
275- "on_button_video_rebuild_clicked" :
276- self.on_button_video_rebuild_clicked,
277+
278+ # Reset tab
279+ "on_button_media_rebuild_clicked" :
280+ self.on_button_media_rebuild_clicked,
281 "on_button_music_rebuild_clicked" :
282 self.on_button_music_rebuild_clicked,
283 "on_button_image_rebuild_clicked" :
284 self.on_button_image_rebuild_clicked,
285 "on_button_feed_rebuild_clicked" :
286 self.on_button_feed_rebuild_clicked,
287+
288+ # Weather tab
289 "on_button_add_weather_clicked" :
290 self.on_button_add_weather_clicked,
291 "on_button_remove_weather_clicked" :
292@@ -112,6 +107,7 @@
293 "on_location_add_button_clicked" :
294 self.on_location_add_button_clicked,
295 "on_location_entry_activate" : self.on_location_entry_activate}
296+
297 self.widgets.signal_autoconnect(callback_dic)
298
299 # Initialize dialog widgets with correct values and show dialog
300@@ -127,8 +123,6 @@
301 column = gtk.TreeViewColumn(_("Location"), cell_renderer, text=0)
302 result_list.append_column(column)
303
304-# Signal handlers
305-
306 def on_dialog_closed(self, widget):
307 """Callback function for dialog's close button"""
308 try:
309@@ -165,12 +159,12 @@
310 self.dialog.hide()
311 self.dialog.destroy()
312
313- def on_button_add_videos_clicked(self, widget):
314+ def on_button_add_media_clicked(self, widget):
315 """Opens add URL dialog. """
316- widget = self.widgets.get_widget("treeview_videos")
317+ widget = self.widgets.get_widget("treeview_media")
318 model = widget.get_model()
319 # Open "Select folder" dialog
320- dialog = gtk.FileChooserDialog(_("Select video folder"), None,
321+ dialog = gtk.FileChooserDialog(_("Select folder"), None,
322 gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
323 (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
324 gtk.STOCK_OPEN,gtk.RESPONSE_OK),
325@@ -179,25 +173,25 @@
326 # If folder was selected we add it to model and update config file
327 if(status == gtk.RESPONSE_OK):
328 self.add_to_model_and_config(dialog.get_current_folder(), model,
329- self.video_folders, "Videos")
330+ self.media_folders, "Media")
331 dialog.destroy()
332
333- def on_button_remove_videos_clicked(self, widget):
334- """Remove currently selected folder from video folders"""
335- widget = self.widgets.get_widget("treeview_videos")
336+ def on_button_remove_media_clicked(self, widget):
337+ """Remove currently selected folder from media folders"""
338+ widget = self.widgets.get_widget("treeview_media")
339 model = widget.get_model()
340 selection = widget.get_selection().get_selected()
341 if selection[1] == None:
342 return
343 rm_folder = model.get_value(selection[1], 0)
344- self.video_folders.remove(rm_folder)
345- str_folders = ";".join(self.video_folders)
346- self.config.write_content_value("Videos", "folders", str_folders)
347+ self.media_folders.remove(rm_folder)
348+ str_folders = ";".join(self.media_folders)
349+ self.config.write_content_value("Media", "folders", str_folders)
350 model.remove(selection[1])
351
352- def on_button_edit_videos_clicked(self, widget):
353+ def on_button_edit_media_clicked(self, widget):
354 """Edit currently selected folder"""
355- widget = self.widgets.get_widget("treeview_videos")
356+ widget = self.widgets.get_widget("treeview_media")
357 url_dialog = self.widgets.get_widget("url_dialog")
358 url_entry = self.widgets.get_widget("url_entry")
359 model = widget.get_model()
360@@ -212,11 +206,11 @@
361 # Update list model
362 model.set_value(selection[1], 0, self.url)
363 # Update configure file
364- pos = self.video_folders.index(folder)
365- self.video_folders.remove(folder)
366- self.video_folders.insert(pos, self.url)
367- str_folders = ";".join(self.video_folders)
368- self.config.write_content_value("Videos", "folders",
369+ pos = self.media_folders.index(folder)
370+ self.media_folders.remove(folder)
371+ self.media_folders.insert(pos, self.url)
372+ str_folders = ";".join(self.media_folders)
373+ self.config.write_content_value("Media", "folders",
374 str_folders)
375
376 def on_checkbutton_video_metadata_toggled(self, widget):
377@@ -224,124 +218,9 @@
378 Download video file metadata from internet
379 @param widget: GTK-Widget
380 """
381- self.config.write_content_value("Videos", "download_metadata",
382+ self.config.write_content_value("Media", "download_video_metadata",
383 widget.get_active())
384
385- def on_button_add_music_clicked(self, widget):
386- """
387- Opens add URL dialog
388- @param widget: GTK-Widget
389- """
390- widget = self.widgets.get_widget("treeview_music")
391- model = widget.get_model()
392- # Open "Select folder" dialog
393- dialog = gtk.FileChooserDialog(_("Select music folder"), None,
394- gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
395- (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
396- gtk.RESPONSE_OK),
397- None)
398- status = dialog.run()
399- # If folder was selected we add it to model and update config file
400- if(status == gtk.RESPONSE_OK):
401- self.add_to_model_and_config(dialog.get_current_folder(), model,
402- self.music_folders, "Music")
403- dialog.destroy()
404-
405- def on_button_remove_music_clicked(self, widget):
406- """Remove currently selected folder from music folders"""
407- widget = self.widgets.get_widget("treeview_music")
408- model = widget.get_model()
409- selection = widget.get_selection().get_selected()
410- if selection[1] == None:
411- return
412- rm_folder = model.get_value(selection[1], 0)
413- self.music_folders.remove(rm_folder)
414- str_folders = ";".join(self.music_folders)
415- self.config.write_content_value("Music", "folders", str_folders)
416- model.remove(selection[1])
417-
418- def on_button_edit_music_clicked(self, widget):
419- """Edit currently selected music folder"""
420- widget = self.widgets.get_widget("treeview_music")
421- url_dialog = self.widgets.get_widget("url_dialog")
422- url_entry = self.widgets.get_widget("url_entry")
423- model = widget.get_model()
424- selection = widget.get_selection().get_selected()
425- if selection[1] == None:
426- return
427- folder = model.get_value(selection[1], 0)
428- url_entry.set_text(folder)
429- url_dialog.set_title(_("Edit URL"))
430- status = url_dialog.run()
431- if status == gtk.RESPONSE_OK and os.path.exists(self.url):
432- # Update list model
433- model.set_value(selection[1], 0, self.url)
434- # Update configure file
435- pos = self.music_folders.index(folder)
436- self.music_folders.remove(folder)
437- self.music_folders.insert(pos, self.url)
438- str_folders = ";".join(self.music_folders)
439- self.config.write_content_value("Music", "folders", str_folders)
440-
441- def on_button_add_images_clicked(self, widget):
442- """Opens add URL dialog. """
443- widget = self.widgets.get_widget("treeview_images")
444- model = widget.get_model()
445- # Open "Select folder" dialog
446- dialog = gtk.FileChooserDialog(_("Select image folder"), None,
447- gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
448- (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
449- gtk.RESPONSE_OK),
450- None)
451- status = dialog.run()
452- # If folder was selected we add it to model and update config file
453- if(status == gtk.RESPONSE_OK):
454- self.add_to_model_and_config(dialog.get_current_folder(), model,
455- self.image_folders, "Images")
456- dialog.destroy()
457-
458- def on_button_remove_images_clicked(self, widget):
459- """Remove currently selected folder from images folders"""
460- widget = self.widgets.get_widget("treeview_images")
461- model = widget.get_model()
462- selection = widget.get_selection().get_selected()
463- if selection[1] == None:
464- return
465- rm_folder = model.get_value(selection[1], 0)
466- self.image_folders.remove(rm_folder)
467- str_folders = ";".join(self.image_folders)
468- self.config.write_content_value("Images", "folders", str_folders)
469- model.remove(selection[1])
470-
471- def on_button_edit_images_clicked(self, widget):
472- """Edit currently selected music folder"""
473- widget = self.widgets.get_widget("treeview_images")
474- url_dialog = self.widgets.get_widget("url_dialog")
475- url_entry = self.widgets.get_widget("url_entry")
476- model = widget.get_model()
477- selection = widget.get_selection().get_selected()
478- if selection[1] == None:
479- return
480- folder = model.get_value(selection[1], 0)
481- url_entry.set_text(folder)
482- url_dialog.set_title(_("Edit URL"))
483- status = url_dialog.run()
484- if status == gtk.RESPONSE_OK and os.path.exists(self.url):
485- # Update list model
486- model.set_value(selection[1], 0, self.url)
487- # Update configure file
488- pos = self.image_folders.index(folder)
489- self.image_folders.remove(folder)
490- self.image_folders.insert(pos, self.url)
491- str_folders = ";".join(self.image_folders)
492- self.config.write_content_value("Images", "folders",
493- str_folders)
494-
495- def on_hidden_files_folders_checkbox_toggled(self, widget):
496- """If True hidden files and folders will be added to image library."""
497- self.config.write_content_value("Images",
498- "display_hidden_files_folders", widget.get_active())
499-
500 def on_button_add_feed_clicked(self, widget):
501 """Opens add feed dialog. """
502 widget = self.widgets.get_widget("treeview_feeds")
503@@ -406,11 +285,11 @@
504 widget.get_value_as_int())
505
506 def on_lyrics_checkbox_toggled(self, widget):
507- self.config.write_content_value("Music", "download_lyrics",
508+ self.config.write_content_value("Media", "download_lyrics",
509 widget.get_active())
510
511 def on_art_checkbox_toggled(self, widget):
512- self.config.write_content_value("Music", "download_album_art",
513+ self.config.write_content_value("Media", "download_album_art",
514 widget.get_active())
515
516 def on_url_dialog_ok_button_clicked(self, widget):
517@@ -555,9 +434,9 @@
518 """
519 self.on_location_find_button_clicked(widget)
520
521- def on_button_video_rebuild_clicked(self, widget):
522+ def on_button_media_rebuild_clicked(self, widget):
523 """
524- Rebuild video cache requested
525+ Rebuild media cache requested
526 @param widget: GTK-Widget
527 """
528 try:
529@@ -648,41 +527,25 @@
530 """Read configuration and set dialog widget values with read values.
531 """
532 # == Videos ==
533- videolist_widget = self.widgets.get_widget("treeview_videos")
534- videostore = gtk.ListStore(str)
535+ medialist_widget = self.widgets.get_widget("treeview_media")
536+ mediastore = gtk.ListStore(str)
537
538 cell_renderer = gtk.CellRendererText()
539 column = gtk.TreeViewColumn(_("Folders"), cell_renderer, text=0)
540- videolist_widget.append_column(column)
541+ medialist_widget.append_column(column)
542
543- self.video_folders = self.config.get_video_folders()
544+ self.media_folders = self.config.get_media_folders()
545
546 # Fill model with folders read from config file
547- self.init_model(videostore, self.video_folders)
548+ self.init_model(mediastore, self.media_folders)
549
550- videolist_widget.set_model(videostore)
551+ medialist_widget.set_model(mediastore)
552
553 # Checkboxes
554 metadata_checkbox = self.widgets.get_widget("video_metadata_checkbox")
555 md_val = self.config.download_video_metadata()
556 metadata_checkbox.set_active(md_val)
557
558- # == Music ==
559- musiclist_widget = self.widgets.get_widget("treeview_music")
560- music_model = gtk.ListStore(str)
561-
562- music_cell = gtk.CellRendererText()
563- music_column = gtk.TreeViewColumn(_("Folders"), music_cell, text=0)
564- musiclist_widget.append_column(music_column)
565-
566- self.music_folders = self.config.get_music_folders()
567-
568- # Fill model with folders read from config file
569- self.init_model(music_model, self.music_folders)
570-
571- musiclist_widget.set_model(music_model)
572-
573- # Checkboxes
574 art_checkbox = self.widgets.get_widget("art_checkbox")
575 art_val = self.config.download_album_art()
576 art_checkbox.set_active(art_val)
577@@ -691,27 +554,6 @@
578 lyrics_val = self.config.download_lyrics()
579 lyrics_checkbox.set_active(lyrics_val)
580
581- # == Images ==
582- imagelist_widget = self.widgets.get_widget("treeview_images")
583- images_model = gtk.ListStore(str)
584-
585- img_cell = gtk.CellRendererText()
586- img_column = gtk.TreeViewColumn(_("Folders"), img_cell, text=0)
587- imagelist_widget.append_column(img_column)
588-
589- self.image_folders = self.config.get_image_folders()
590-
591- # Fill model with folders read from config file
592- self.init_model(images_model, self.image_folders)
593-
594- imagelist_widget.set_model(images_model)
595-
596- # Checkboxes
597- hidden_checkbox = self.widgets.get_widget(
598- "hidden_files_folders_checkbox")
599- hidden_val = self.config.display_hidden_files_folders()
600- hidden_checkbox.set_active(hidden_val)
601-
602 # == RSS-feeds ==
603 feedlist_widget = self.widgets.get_widget("treeview_feeds")
604 feed_model = gtk.ListStore(str)
605
606=== modified file 'entertainerlib/glade/entertainer-content-management.glade'
607--- entertainerlib/glade/entertainer-content-management.glade 2009-05-31 16:36:18 +0000
608+++ entertainerlib/glade/entertainer-content-management.glade 2009-07-11 21:39:40 +0000
609@@ -1,1481 +1,1646 @@
610-<?xml version="1.0"?>
611+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
612+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
613+
614 <glade-interface>
615- <!-- interface-requires gtk+ 2.16 -->
616- <!-- interface-naming-policy toplevel-contextual -->
617- <widget class="GtkDialog" id="ContentManagementDialog">
618- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
619- <property name="border_width">5</property>
620- <property name="title" translatable="yes">Content management</property>
621- <property name="modal">True</property>
622- <property name="window_position">center</property>
623- <property name="icon_name">applications-multimedia</property>
624- <property name="type_hint">dialog</property>
625- <property name="has_separator">False</property>
626- <signal name="destroy" handler="on_ContentManagementDialog_destroy"/>
627- <child internal-child="vbox">
628- <widget class="GtkVBox" id="dialog-layout">
629- <property name="visible">True</property>
630- <property name="spacing">2</property>
631- <child>
632- <widget class="GtkNotebook" id="tabs">
633- <property name="visible">True</property>
634- <property name="can_focus">True</property>
635- <property name="has_focus">True</property>
636- <property name="can_default">True</property>
637- <property name="has_default">True</property>
638- <child>
639- <widget class="GtkVBox" id="vbox_videos">
640- <property name="visible">True</property>
641- <child>
642- <widget class="GtkVBox" id="vbox1">
643- <property name="visible">True</property>
644- <child>
645- <widget class="GtkFrame" id="frame_video_lib1">
646- <property name="visible">True</property>
647- <property name="border_width">5</property>
648- <property name="label_xalign">0</property>
649- <property name="shadow_type">none</property>
650- <child>
651- <widget class="GtkAlignment" id="alignment1">
652- <property name="visible">True</property>
653- <property name="left_padding">12</property>
654- <child>
655- <widget class="GtkVBox" id="vbox2">
656- <property name="visible">True</property>
657- <child>
658- <widget class="GtkLabel" id="label_video_folder_tip1">
659- <property name="visible">True</property>
660- <property name="xalign">0</property>
661- <property name="label" translatable="yes">Entertainer video library scans data from the listed folders.</property>
662- <property name="single_line_mode">True</property>
663- </widget>
664- <packing>
665- <property name="expand">False</property>
666- <property name="padding">5</property>
667- <property name="position">0</property>
668- </packing>
669- </child>
670- <child>
671- <widget class="GtkHBox" id="hbox2">
672- <property name="visible">True</property>
673- <child>
674- <widget class="GtkScrolledWindow" id="scrolledwindow1">
675- <property name="visible">True</property>
676- <property name="can_focus">True</property>
677- <property name="hscrollbar_policy">automatic</property>
678- <property name="vscrollbar_policy">automatic</property>
679- <property name="shadow_type">in</property>
680- <child>
681- <widget class="GtkTreeView" id="treeview_videos">
682- <property name="visible">True</property>
683- <property name="can_focus">True</property>
684- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
685- <property name="enable_search">False</property>
686- </widget>
687- </child>
688- </widget>
689- <packing>
690- <property name="position">0</property>
691- </packing>
692- </child>
693- <child>
694- <widget class="GtkVButtonBox" id="vbuttonbox1">
695- <property name="visible">True</property>
696- <property name="spacing">5</property>
697- <property name="layout_style">start</property>
698- <child>
699- <widget class="GtkButton" id="button_add_videos">
700- <property name="label">gtk-add</property>
701- <property name="visible">True</property>
702- <property name="can_focus">True</property>
703- <property name="has_focus">True</property>
704- <property name="can_default">True</property>
705- <property name="has_default">True</property>
706- <property name="receives_default">False</property>
707- <property name="use_stock">True</property>
708- <signal name="clicked" handler="on_button_add_videos_clicked"/>
709- </widget>
710- <packing>
711- <property name="expand">False</property>
712- <property name="fill">False</property>
713- <property name="position">0</property>
714- </packing>
715- </child>
716- <child>
717- <widget class="GtkButton" id="button_remove_videos">
718- <property name="label">gtk-remove</property>
719- <property name="visible">True</property>
720- <property name="can_focus">True</property>
721- <property name="receives_default">False</property>
722- <property name="use_stock">True</property>
723- <signal name="clicked" handler="on_button_remove_videos_clicked"/>
724- </widget>
725- <packing>
726- <property name="expand">False</property>
727- <property name="fill">False</property>
728- <property name="position">1</property>
729- </packing>
730- </child>
731- <child>
732- <widget class="GtkButton" id="button_edit_videos">
733- <property name="label">gtk-edit</property>
734- <property name="visible">True</property>
735- <property name="can_focus">True</property>
736- <property name="receives_default">False</property>
737- <property name="use_stock">True</property>
738- <signal name="clicked" handler="on_button_edit_videos_clicked"/>
739- </widget>
740- <packing>
741- <property name="expand">False</property>
742- <property name="fill">False</property>
743- <property name="position">2</property>
744- </packing>
745- </child>
746- </widget>
747- <packing>
748- <property name="expand">False</property>
749- <property name="padding">5</property>
750- <property name="position">1</property>
751- </packing>
752- </child>
753- </widget>
754- <packing>
755- <property name="position">1</property>
756- </packing>
757- </child>
758- </widget>
759- </child>
760- </widget>
761- </child>
762- <child>
763- <widget class="GtkLabel" id="label_video_library1">
764- <property name="visible">True</property>
765- <property name="label" translatable="yes">&lt;b&gt;Video library&lt;/b&gt;</property>
766- <property name="use_markup">True</property>
767- </widget>
768- <packing>
769- <property name="type">label_item</property>
770- </packing>
771- </child>
772- </widget>
773- <packing>
774- <property name="position">0</property>
775- </packing>
776- </child>
777- <child>
778- <widget class="GtkFrame" id="frame1">
779- <property name="visible">True</property>
780- <property name="label_xalign">0</property>
781- <property name="shadow_type">none</property>
782- <child>
783- <widget class="GtkAlignment" id="alignment2">
784- <property name="visible">True</property>
785- <property name="left_padding">12</property>
786- <child>
787- <widget class="GtkCheckButton" id="video_metadata_checkbox">
788- <property name="label" translatable="yes">Download movie and TV-series metadata</property>
789- <property name="visible">True</property>
790- <property name="can_focus">True</property>
791- <property name="receives_default">False</property>
792- <property name="use_underline">True</property>
793- <property name="draw_indicator">True</property>
794- <signal name="toggled" handler="on_checkbutton_video_metadata_toggled"/>
795- </widget>
796- </child>
797- </widget>
798- </child>
799- <child>
800- <widget class="GtkLabel" id="label2">
801- <property name="visible">True</property>
802- <property name="label" translatable="yes">&lt;b&gt;Video library settings&lt;/b&gt;</property>
803- <property name="use_markup">True</property>
804- </widget>
805- <packing>
806- <property name="type">label_item</property>
807- </packing>
808- </child>
809- </widget>
810- <packing>
811- <property name="position">1</property>
812- </packing>
813- </child>
814- </widget>
815- <packing>
816- <property name="position">0</property>
817- </packing>
818- </child>
819- </widget>
820- </child>
821- <child>
822- <widget class="GtkLabel" id="label_video3">
823- <property name="visible">True</property>
824- <property name="can_focus">True</property>
825- <property name="has_focus">True</property>
826- <property name="has_default">True</property>
827- <property name="label" translatable="yes">Videos</property>
828- </widget>
829- <packing>
830- <property name="tab_fill">False</property>
831- <property name="type">tab</property>
832- </packing>
833- </child>
834- <child>
835- <widget class="GtkVBox" id="vbox_music">
836- <property name="visible">True</property>
837- <child>
838- <widget class="GtkFrame" id="frame_music_folders3">
839- <property name="visible">True</property>
840- <property name="border_width">5</property>
841- <property name="label_xalign">0</property>
842- <property name="shadow_type">none</property>
843- <child>
844- <widget class="GtkAlignment" id="alignment9">
845- <property name="visible">True</property>
846- <property name="left_padding">12</property>
847- <child>
848- <widget class="GtkVBox" id="vbox12">
849- <property name="visible">True</property>
850- <child>
851- <widget class="GtkLabel" id="label8">
852- <property name="visible">True</property>
853- <property name="xalign">0</property>
854- <property name="label" translatable="yes">Entertainer music library scans data from the listed folders.</property>
855- </widget>
856- <packing>
857- <property name="expand">False</property>
858- <property name="padding">5</property>
859- <property name="position">0</property>
860- </packing>
861- </child>
862- <child>
863- <widget class="GtkHBox" id="hbox12">
864- <property name="visible">True</property>
865- <child>
866- <widget class="GtkScrolledWindow" id="scrolledwindow5">
867- <property name="visible">True</property>
868- <property name="can_focus">True</property>
869- <property name="hscrollbar_policy">automatic</property>
870- <property name="vscrollbar_policy">automatic</property>
871- <property name="shadow_type">in</property>
872- <child>
873- <widget class="GtkTreeView" id="treeview_music">
874- <property name="visible">True</property>
875- <property name="can_focus">True</property>
876- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
877- <property name="enable_search">False</property>
878- </widget>
879- </child>
880- </widget>
881- <packing>
882- <property name="position">0</property>
883- </packing>
884- </child>
885- <child>
886- <widget class="GtkVButtonBox" id="vbuttonbox6">
887- <property name="visible">True</property>
888- <property name="spacing">5</property>
889- <property name="layout_style">start</property>
890- <child>
891- <widget class="GtkButton" id="button_add_music">
892- <property name="label">gtk-add</property>
893- <property name="visible">True</property>
894- <property name="can_focus">True</property>
895- <property name="receives_default">False</property>
896- <property name="use_stock">True</property>
897- <signal name="clicked" handler="on_button_add_music_clicked"/>
898- </widget>
899- <packing>
900- <property name="expand">False</property>
901- <property name="fill">False</property>
902- <property name="position">0</property>
903- </packing>
904- </child>
905- <child>
906- <widget class="GtkButton" id="button_remove_music">
907- <property name="label">gtk-remove</property>
908- <property name="visible">True</property>
909- <property name="can_focus">True</property>
910- <property name="receives_default">False</property>
911- <property name="use_stock">True</property>
912- <signal name="clicked" handler="on_button_remove_music_clicked"/>
913- </widget>
914- <packing>
915- <property name="expand">False</property>
916- <property name="fill">False</property>
917- <property name="position">1</property>
918- </packing>
919- </child>
920- <child>
921- <widget class="GtkButton" id="button_edit_music">
922- <property name="label">gtk-edit</property>
923- <property name="visible">True</property>
924- <property name="can_focus">True</property>
925- <property name="receives_default">False</property>
926- <property name="use_stock">True</property>
927- <signal name="clicked" handler="on_button_edit_music_clicked"/>
928- </widget>
929- <packing>
930- <property name="expand">False</property>
931- <property name="fill">False</property>
932- <property name="position">2</property>
933- </packing>
934- </child>
935- </widget>
936- <packing>
937- <property name="expand">False</property>
938- <property name="padding">5</property>
939- <property name="position">1</property>
940- </packing>
941- </child>
942- </widget>
943- <packing>
944- <property name="position">1</property>
945- </packing>
946- </child>
947- </widget>
948- </child>
949- </widget>
950- </child>
951- <child>
952- <widget class="GtkLabel" id="label_music_folders3">
953- <property name="visible">True</property>
954- <property name="label" translatable="yes">&lt;b&gt;Music library&lt;/b&gt;</property>
955- <property name="use_markup">True</property>
956- </widget>
957- <packing>
958- <property name="type">label_item</property>
959- </packing>
960- </child>
961- </widget>
962- <packing>
963- <property name="position">0</property>
964- </packing>
965- </child>
966- <child>
967- <widget class="GtkFrame" id="frame_music_lib_settings3">
968- <property name="visible">True</property>
969- <property name="border_width">5</property>
970- <property name="label_xalign">0</property>
971- <property name="shadow_type">none</property>
972- <child>
973- <widget class="GtkAlignment" id="alignment10">
974- <property name="visible">True</property>
975- <property name="left_padding">12</property>
976- <child>
977- <widget class="GtkVBox" id="vbox13">
978- <property name="visible">True</property>
979- <property name="homogeneous">True</property>
980- <child>
981- <widget class="GtkCheckButton" id="art_checkbox">
982- <property name="label" translatable="yes">Download album cover art</property>
983- <property name="visible">True</property>
984- <property name="can_focus">True</property>
985- <property name="receives_default">False</property>
986- <property name="use_underline">True</property>
987- <property name="draw_indicator">True</property>
988- <signal name="toggled" handler="on_art_checkbox_toggled"/>
989- </widget>
990- <packing>
991- <property name="padding">5</property>
992- <property name="position">0</property>
993- </packing>
994- </child>
995- <child>
996- <widget class="GtkCheckButton" id="lyrics_checkbox">
997- <property name="label" translatable="yes">Download song lyrics</property>
998- <property name="visible">True</property>
999- <property name="can_focus">True</property>
1000- <property name="receives_default">False</property>
1001- <property name="use_underline">True</property>
1002- <property name="draw_indicator">True</property>
1003- <signal name="toggled" handler="on_lyrics_checkbox_toggled"/>
1004- </widget>
1005- <packing>
1006- <property name="padding">5</property>
1007- <property name="position">1</property>
1008- </packing>
1009- </child>
1010- </widget>
1011- </child>
1012- </widget>
1013- </child>
1014- <child>
1015- <widget class="GtkLabel" id="label9">
1016- <property name="visible">True</property>
1017- <property name="label" translatable="yes">&lt;b&gt;Music library settings&lt;/b&gt;</property>
1018- <property name="use_markup">True</property>
1019- </widget>
1020- <packing>
1021- <property name="type">label_item</property>
1022- </packing>
1023- </child>
1024- </widget>
1025- <packing>
1026- <property name="expand">False</property>
1027- <property name="position">1</property>
1028- </packing>
1029- </child>
1030- </widget>
1031- <packing>
1032- <property name="position">1</property>
1033- </packing>
1034- </child>
1035- <child>
1036- <widget class="GtkLabel" id="label10">
1037- <property name="visible">True</property>
1038- <property name="label" translatable="yes">Music</property>
1039- </widget>
1040- <packing>
1041- <property name="position">1</property>
1042- <property name="tab_fill">False</property>
1043- <property name="type">tab</property>
1044- </packing>
1045- </child>
1046- <child>
1047- <widget class="GtkVBox" id="vbox14">
1048- <property name="visible">True</property>
1049- <child>
1050- <widget class="GtkFrame" id="frame_image_folders3">
1051- <property name="visible">True</property>
1052- <property name="border_width">5</property>
1053- <property name="label_xalign">0</property>
1054- <property name="shadow_type">none</property>
1055- <child>
1056- <widget class="GtkAlignment" id="alignment11">
1057- <property name="visible">True</property>
1058- <property name="left_padding">12</property>
1059- <child>
1060- <widget class="GtkVBox" id="vbox15">
1061- <property name="visible">True</property>
1062- <child>
1063- <widget class="GtkLabel" id="label_music_tip3">
1064- <property name="visible">True</property>
1065- <property name="xalign">0</property>
1066- <property name="label" translatable="yes">Entertainer image library scans data from the listed folders.</property>
1067- </widget>
1068- <packing>
1069- <property name="expand">False</property>
1070- <property name="padding">5</property>
1071- <property name="position">0</property>
1072- </packing>
1073- </child>
1074- <child>
1075- <widget class="GtkHBox" id="hbox14">
1076- <property name="visible">True</property>
1077- <child>
1078- <widget class="GtkScrolledWindow" id="scrolledwindow6">
1079- <property name="visible">True</property>
1080- <property name="can_focus">True</property>
1081- <property name="hscrollbar_policy">automatic</property>
1082- <property name="vscrollbar_policy">automatic</property>
1083- <property name="shadow_type">in</property>
1084- <child>
1085- <widget class="GtkTreeView" id="treeview_images">
1086- <property name="visible">True</property>
1087- <property name="can_focus">True</property>
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="enable_search">False</property>
1090- </widget>
1091- </child>
1092- </widget>
1093- <packing>
1094- <property name="position">0</property>
1095- </packing>
1096- </child>
1097- <child>
1098- <widget class="GtkVButtonBox" id="vbuttonbox7">
1099- <property name="visible">True</property>
1100- <property name="spacing">5</property>
1101- <property name="layout_style">start</property>
1102- <child>
1103- <widget class="GtkButton" id="button_add_images">
1104- <property name="label">gtk-add</property>
1105- <property name="visible">True</property>
1106- <property name="can_focus">True</property>
1107- <property name="receives_default">False</property>
1108- <property name="use_stock">True</property>
1109- <signal name="clicked" handler="on_button_add_images_clicked"/>
1110- </widget>
1111- <packing>
1112- <property name="expand">False</property>
1113- <property name="fill">False</property>
1114- <property name="position">0</property>
1115- </packing>
1116- </child>
1117- <child>
1118- <widget class="GtkButton" id="button_remove_images">
1119- <property name="label">gtk-remove</property>
1120- <property name="visible">True</property>
1121- <property name="can_focus">True</property>
1122- <property name="receives_default">False</property>
1123- <property name="use_stock">True</property>
1124- <signal name="clicked" handler="on_button_remove_images_clicked"/>
1125- </widget>
1126- <packing>
1127- <property name="expand">False</property>
1128- <property name="fill">False</property>
1129- <property name="position">1</property>
1130- </packing>
1131- </child>
1132- <child>
1133- <widget class="GtkButton" id="button_edit_images">
1134- <property name="label">gtk-edit</property>
1135- <property name="visible">True</property>
1136- <property name="can_focus">True</property>
1137- <property name="receives_default">False</property>
1138- <property name="use_stock">True</property>
1139- <signal name="clicked" handler="on_button_edit_images_clicked"/>
1140- </widget>
1141- <packing>
1142- <property name="expand">False</property>
1143- <property name="fill">False</property>
1144- <property name="position">2</property>
1145- </packing>
1146- </child>
1147- </widget>
1148- <packing>
1149- <property name="expand">False</property>
1150- <property name="padding">5</property>
1151- <property name="position">1</property>
1152- </packing>
1153- </child>
1154- </widget>
1155- <packing>
1156- <property name="position">1</property>
1157- </packing>
1158- </child>
1159- </widget>
1160- </child>
1161- </widget>
1162- </child>
1163- <child>
1164- <widget class="GtkLabel" id="label11">
1165- <property name="visible">True</property>
1166- <property name="label" translatable="yes">&lt;b&gt;Image library&lt;/b&gt;</property>
1167- <property name="use_markup">True</property>
1168- </widget>
1169- <packing>
1170- <property name="type">label_item</property>
1171- </packing>
1172- </child>
1173- </widget>
1174- <packing>
1175- <property name="position">0</property>
1176- </packing>
1177- </child>
1178- <child>
1179- <widget class="GtkFrame" id="frame_image_lib_settings3">
1180- <property name="visible">True</property>
1181- <property name="border_width">5</property>
1182- <property name="label_xalign">0</property>
1183- <property name="shadow_type">none</property>
1184- <child>
1185- <widget class="GtkAlignment" id="alignment12">
1186- <property name="visible">True</property>
1187- <property name="left_padding">12</property>
1188- <child>
1189- <widget class="GtkVBox" id="vbox16">
1190- <property name="visible">True</property>
1191- <child>
1192- <placeholder/>
1193- </child>
1194- <child>
1195- <widget class="GtkCheckButton" id="hidden_files_folders_checkbox">
1196- <property name="label" translatable="yes">Display hidden files and folders in image library</property>
1197- <property name="visible">True</property>
1198- <property name="can_focus">True</property>
1199- <property name="receives_default">False</property>
1200- <property name="use_underline">True</property>
1201- <property name="draw_indicator">True</property>
1202- <signal name="toggled" handler="on_hidden_files_folders_checkbox_toggled"/>
1203- </widget>
1204- <packing>
1205- <property name="padding">5</property>
1206- <property name="position">1</property>
1207- </packing>
1208- </child>
1209- </widget>
1210- </child>
1211- </widget>
1212- </child>
1213- <child>
1214- <widget class="GtkLabel" id="label_image_lib_settings3">
1215- <property name="visible">True</property>
1216- <property name="label" translatable="yes">&lt;b&gt;Image library settings&lt;/b&gt;</property>
1217- <property name="use_markup">True</property>
1218- </widget>
1219- <packing>
1220- <property name="type">label_item</property>
1221- </packing>
1222- </child>
1223- </widget>
1224- <packing>
1225- <property name="expand">False</property>
1226- <property name="position">1</property>
1227- </packing>
1228- </child>
1229- </widget>
1230- <packing>
1231- <property name="position">2</property>
1232- </packing>
1233- </child>
1234- <child>
1235- <widget class="GtkLabel" id="label_images3">
1236- <property name="visible">True</property>
1237- <property name="label" translatable="yes">Images</property>
1238- </widget>
1239- <packing>
1240- <property name="position">2</property>
1241- <property name="tab_fill">False</property>
1242- <property name="type">tab</property>
1243- </packing>
1244- </child>
1245- <child>
1246- <widget class="GtkVBox" id="vbox_feeds">
1247- <property name="visible">True</property>
1248- <child>
1249- <widget class="GtkFrame" id="frame_rss_feeds3">
1250- <property name="visible">True</property>
1251- <property name="border_width">5</property>
1252- <property name="label_xalign">0</property>
1253- <property name="shadow_type">none</property>
1254- <child>
1255- <widget class="GtkAlignment" id="alignment13">
1256- <property name="visible">True</property>
1257- <property name="left_padding">12</property>
1258- <child>
1259- <widget class="GtkVBox" id="vbox17">
1260- <property name="visible">True</property>
1261- <child>
1262- <widget class="GtkLabel" id="label_rss_tip3">
1263- <property name="visible">True</property>
1264- <property name="xalign">0</property>
1265- <property name="label" translatable="yes">Below is a list of RSS feeds that are displayd in Entertainer.</property>
1266- </widget>
1267- <packing>
1268- <property name="expand">False</property>
1269- <property name="padding">5</property>
1270- <property name="position">0</property>
1271- </packing>
1272- </child>
1273- <child>
1274- <widget class="GtkHBox" id="hbox16">
1275- <property name="visible">True</property>
1276- <child>
1277- <widget class="GtkScrolledWindow" id="scrolledwindow_rss3">
1278- <property name="visible">True</property>
1279- <property name="can_focus">True</property>
1280- <property name="hscrollbar_policy">automatic</property>
1281- <property name="vscrollbar_policy">automatic</property>
1282- <property name="shadow_type">in</property>
1283- <child>
1284- <widget class="GtkTreeView" id="treeview_feeds">
1285- <property name="visible">True</property>
1286- <property name="can_focus">True</property>
1287- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1288- <property name="enable_search">False</property>
1289- </widget>
1290- </child>
1291- </widget>
1292- <packing>
1293- <property name="position">0</property>
1294- </packing>
1295- </child>
1296- <child>
1297- <widget class="GtkVButtonBox" id="vbuttonbox8">
1298- <property name="visible">True</property>
1299- <property name="spacing">5</property>
1300- <property name="layout_style">start</property>
1301- <child>
1302- <widget class="GtkButton" id="button_add_feed">
1303- <property name="label">gtk-add</property>
1304- <property name="visible">True</property>
1305- <property name="can_focus">True</property>
1306- <property name="receives_default">False</property>
1307- <property name="tooltip" translatable="yes">Add RSS Feed</property>
1308- <property name="use_stock">True</property>
1309- <signal name="clicked" handler="on_button_add_feed_clicked"/>
1310- </widget>
1311- <packing>
1312- <property name="expand">False</property>
1313- <property name="fill">False</property>
1314- <property name="position">0</property>
1315- </packing>
1316- </child>
1317- <child>
1318- <widget class="GtkButton" id="button_remove_feed">
1319- <property name="label">gtk-remove</property>
1320- <property name="visible">True</property>
1321- <property name="can_focus">True</property>
1322- <property name="receives_default">False</property>
1323- <property name="tooltip" translatable="yes">Remove RSS Feed</property>
1324- <property name="use_stock">True</property>
1325- <signal name="clicked" handler="on_button_remove_feed_clicked"/>
1326- </widget>
1327- <packing>
1328- <property name="expand">False</property>
1329- <property name="fill">False</property>
1330- <property name="position">1</property>
1331- </packing>
1332- </child>
1333- <child>
1334- <widget class="GtkButton" id="button_edit_feed">
1335- <property name="label">gtk-edit</property>
1336- <property name="visible">True</property>
1337- <property name="can_focus">True</property>
1338- <property name="receives_default">False</property>
1339- <property name="tooltip" translatable="yes">Edit current item</property>
1340- <property name="use_stock">True</property>
1341- <signal name="clicked" handler="on_button_edit_feed_clicked"/>
1342- </widget>
1343- <packing>
1344- <property name="expand">False</property>
1345- <property name="fill">False</property>
1346- <property name="position">2</property>
1347- </packing>
1348- </child>
1349- <child>
1350- <widget class="GtkButton" id="button_open_list">
1351- <property name="label">gtk-open</property>
1352- <property name="visible">True</property>
1353- <property name="can_focus">True</property>
1354- <property name="receives_default">False</property>
1355- <property name="tooltip" translatable="yes">Add feeds from a datasource</property>
1356- <property name="use_stock">True</property>
1357- <signal name="clicked" handler="on_button_open_list_clicked"/>
1358- </widget>
1359- <packing>
1360- <property name="expand">False</property>
1361- <property name="fill">False</property>
1362- <property name="position">3</property>
1363- </packing>
1364- </child>
1365- </widget>
1366- <packing>
1367- <property name="expand">False</property>
1368- <property name="padding">5</property>
1369- <property name="position">1</property>
1370- </packing>
1371- </child>
1372- </widget>
1373- <packing>
1374- <property name="position">1</property>
1375- </packing>
1376- </child>
1377- </widget>
1378- </child>
1379- </widget>
1380- </child>
1381- <child>
1382- <widget class="GtkLabel" id="label_rss_sources3">
1383- <property name="visible">True</property>
1384- <property name="label" translatable="yes">&lt;b&gt;RSS feeds&lt;/b&gt;</property>
1385- <property name="use_markup">True</property>
1386- </widget>
1387- <packing>
1388- <property name="type">label_item</property>
1389- </packing>
1390- </child>
1391- </widget>
1392- <packing>
1393- <property name="position">0</property>
1394- </packing>
1395- </child>
1396- <child>
1397- <widget class="GtkFrame" id="frame_feed_settings3">
1398- <property name="visible">True</property>
1399- <property name="border_width">5</property>
1400- <property name="label_xalign">0</property>
1401- <property name="shadow_type">none</property>
1402- <child>
1403- <widget class="GtkAlignment" id="alignment14">
1404- <property name="visible">True</property>
1405- <property name="left_padding">12</property>
1406- <child>
1407- <widget class="GtkVBox" id="vbox18">
1408- <property name="visible">True</property>
1409- <child>
1410- <widget class="GtkHBox" id="hbox17">
1411- <property name="visible">True</property>
1412- <child>
1413- <widget class="GtkLabel" id="label12">
1414- <property name="visible">True</property>
1415- <property name="label" translatable="yes">Update all feeds every</property>
1416- </widget>
1417- <packing>
1418- <property name="expand">False</property>
1419- <property name="position">0</property>
1420- </packing>
1421- </child>
1422- <child>
1423- <widget class="GtkSpinButton" id="fetch_interval_spinbutton">
1424- <property name="visible">True</property>
1425- <property name="can_focus">True</property>
1426- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1427- <property name="adjustment">60 15 900 1 10 0</property>
1428- <property name="climb_rate">1</property>
1429- <property name="numeric">True</property>
1430- <signal name="value_changed" handler="on_fetch_interval_spinbutton_value_changed"/>
1431- </widget>
1432- <packing>
1433- <property name="expand">False</property>
1434- <property name="padding">5</property>
1435- <property name="position">1</property>
1436- </packing>
1437- </child>
1438- <child>
1439- <widget class="GtkLabel" id="label13">
1440- <property name="visible">True</property>
1441- <property name="label" translatable="yes">minutes.</property>
1442- </widget>
1443- <packing>
1444- <property name="expand">False</property>
1445- <property name="position">2</property>
1446- </packing>
1447- </child>
1448- </widget>
1449- <packing>
1450- <property name="expand">False</property>
1451- <property name="padding">10</property>
1452- <property name="position">0</property>
1453- </packing>
1454- </child>
1455- </widget>
1456- </child>
1457- </widget>
1458- </child>
1459- <child>
1460- <widget class="GtkLabel" id="label_rss_settings3">
1461- <property name="visible">True</property>
1462- <property name="label" translatable="yes">&lt;b&gt;Feed settings&lt;/b&gt;</property>
1463- <property name="use_markup">True</property>
1464- </widget>
1465- <packing>
1466- <property name="type">label_item</property>
1467- </packing>
1468- </child>
1469- </widget>
1470- <packing>
1471- <property name="expand">False</property>
1472- <property name="position">1</property>
1473- </packing>
1474- </child>
1475- </widget>
1476- <packing>
1477- <property name="position">3</property>
1478- </packing>
1479- </child>
1480- <child>
1481- <widget class="GtkLabel" id="label_rss3">
1482- <property name="visible">True</property>
1483- <property name="label" translatable="yes">RSS feeds</property>
1484- </widget>
1485- <packing>
1486- <property name="position">3</property>
1487- <property name="tab_fill">False</property>
1488- <property name="type">tab</property>
1489- </packing>
1490- </child>
1491- <child>
1492- <widget class="GtkVBox" id="vbox5">
1493- <property name="visible">True</property>
1494- <child>
1495- <widget class="GtkFrame" id="frame_video_lib3">
1496- <property name="visible">True</property>
1497- <property name="border_width">5</property>
1498- <property name="label_xalign">0</property>
1499- <property name="shadow_type">none</property>
1500- <child>
1501- <widget class="GtkAlignment" id="alignment5">
1502- <property name="visible">True</property>
1503- <property name="left_padding">12</property>
1504- <child>
1505- <widget class="GtkVBox" id="weather_location_list_area">
1506- <property name="visible">True</property>
1507- <child>
1508- <widget class="GtkLabel" id="label_weather_tip">
1509- <property name="visible">True</property>
1510- <property name="xalign">0</property>
1511- <property name="label" translatable="yes">Get weather conditions from the locations listed below.</property>
1512- <property name="single_line_mode">True</property>
1513- </widget>
1514- <packing>
1515- <property name="expand">False</property>
1516- <property name="padding">5</property>
1517- <property name="position">0</property>
1518- </packing>
1519- </child>
1520- <child>
1521- <widget class="GtkHBox" id="hbox4">
1522- <property name="visible">True</property>
1523- <child>
1524- <widget class="GtkScrolledWindow" id="scrolledwindow3">
1525- <property name="visible">True</property>
1526- <property name="can_focus">True</property>
1527- <property name="hscrollbar_policy">automatic</property>
1528- <property name="vscrollbar_policy">automatic</property>
1529- <property name="shadow_type">in</property>
1530- <child>
1531- <widget class="GtkTreeView" id="treeview_locations">
1532- <property name="visible">True</property>
1533- <property name="can_focus">True</property>
1534- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1535- <property name="enable_search">False</property>
1536- </widget>
1537- </child>
1538- </widget>
1539- <packing>
1540- <property name="position">0</property>
1541- </packing>
1542- </child>
1543- <child>
1544- <widget class="GtkVButtonBox" id="vbuttonbox3">
1545- <property name="visible">True</property>
1546- <property name="spacing">5</property>
1547- <property name="layout_style">start</property>
1548- <child>
1549- <widget class="GtkButton" id="button_add_weather">
1550- <property name="label">gtk-new</property>
1551- <property name="visible">True</property>
1552- <property name="can_focus">True</property>
1553- <property name="has_focus">True</property>
1554- <property name="can_default">True</property>
1555- <property name="has_default">True</property>
1556- <property name="receives_default">False</property>
1557- <property name="use_stock">True</property>
1558- <signal name="clicked" handler="on_button_add_weather_clicked"/>
1559- </widget>
1560- <packing>
1561- <property name="expand">False</property>
1562- <property name="fill">False</property>
1563- <property name="position">0</property>
1564- </packing>
1565- </child>
1566- <child>
1567- <widget class="GtkButton" id="button_remove_weather">
1568- <property name="label">gtk-clear</property>
1569- <property name="visible">True</property>
1570- <property name="can_focus">True</property>
1571- <property name="receives_default">False</property>
1572- <property name="use_stock">True</property>
1573- <signal name="clicked" handler="on_button_remove_weather_clicked"/>
1574- </widget>
1575- <packing>
1576- <property name="expand">False</property>
1577- <property name="fill">False</property>
1578- <property name="position">1</property>
1579- </packing>
1580- </child>
1581- </widget>
1582- <packing>
1583- <property name="expand">False</property>
1584- <property name="padding">5</property>
1585- <property name="position">1</property>
1586- </packing>
1587- </child>
1588- </widget>
1589- <packing>
1590- <property name="position">1</property>
1591- </packing>
1592- </child>
1593- </widget>
1594- </child>
1595- </widget>
1596- </child>
1597- <child>
1598- <widget class="GtkLabel" id="label_weather_options">
1599- <property name="visible">True</property>
1600- <property name="label" translatable="yes">&lt;b&gt;Weather locations&lt;/b&gt;</property>
1601- <property name="use_markup">True</property>
1602- </widget>
1603- <packing>
1604- <property name="type">label_item</property>
1605- </packing>
1606- </child>
1607- </widget>
1608- <packing>
1609- <property name="position">0</property>
1610- </packing>
1611- </child>
1612- <child>
1613- <widget class="GtkFrame" id="frame4">
1614- <property name="visible">True</property>
1615- <property name="label_xalign">0</property>
1616- <property name="shadow_type">none</property>
1617- <child>
1618- <widget class="GtkAlignment" id="alignment7">
1619- <property name="visible">True</property>
1620- <property name="left_padding">12</property>
1621- <child>
1622- <widget class="GtkVBox" id="vbox7">
1623- <property name="visible">True</property>
1624- <child>
1625- <widget class="GtkCheckButton" id="weather_display_checkbox">
1626- <property name="label" translatable="yes">Display weather option in main menu</property>
1627- <property name="visible">True</property>
1628- <property name="can_focus">True</property>
1629- <property name="receives_default">False</property>
1630- <property name="use_underline">True</property>
1631- <property name="active">True</property>
1632- <property name="draw_indicator">True</property>
1633- <signal name="toggled" handler="on_weather_display_checkbox_toggled"/>
1634- </widget>
1635- <packing>
1636- <property name="fill">False</property>
1637- <property name="position">0</property>
1638- </packing>
1639- </child>
1640- </widget>
1641- </child>
1642- </widget>
1643- </child>
1644- <child>
1645- <widget class="GtkLabel" id="label7">
1646- <property name="visible">True</property>
1647- <property name="label" translatable="yes">&lt;b&gt;Weather settings&lt;/b&gt;</property>
1648- <property name="use_markup">True</property>
1649- </widget>
1650- <packing>
1651- <property name="type">label_item</property>
1652- </packing>
1653- </child>
1654- </widget>
1655- <packing>
1656- <property name="position">1</property>
1657- </packing>
1658- </child>
1659- </widget>
1660- <packing>
1661- <property name="position">4</property>
1662- </packing>
1663- </child>
1664- <child>
1665- <widget class="GtkLabel" id="label_weather">
1666- <property name="visible">True</property>
1667- <property name="yalign">0.40999999642372131</property>
1668- <property name="label" translatable="yes">Weather</property>
1669- </widget>
1670- <packing>
1671- <property name="position">4</property>
1672- <property name="tab_fill">False</property>
1673- <property name="type">tab</property>
1674- </packing>
1675- </child>
1676- <child>
1677- <widget class="GtkFrame" id="frame2">
1678- <property name="visible">True</property>
1679- <property name="border_width">5</property>
1680- <property name="label_xalign">0</property>
1681- <property name="shadow_type">none</property>
1682- <child>
1683- <widget class="GtkAlignment" id="alignment3">
1684- <property name="visible">True</property>
1685- <property name="left_padding">12</property>
1686- <child>
1687- <widget class="GtkVBox" id="vbox3">
1688- <property name="visible">True</property>
1689- <child>
1690- <widget class="GtkLabel" id="label5">
1691- <property name="visible">True</property>
1692- <property name="xpad">7</property>
1693- <property name="ypad">7</property>
1694- <property name="label" translatable="yes">Rebuilding cache means that all data is removed and then
1695+
1696+<widget class="GtkDialog" id="ContentManagementDialog">
1697+ <property name="border_width">5</property>
1698+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1699+ <property name="title" translatable="yes">Content management</property>
1700+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
1701+ <property name="window_position">GTK_WIN_POS_NONE</property>
1702+ <property name="modal">True</property>
1703+ <property name="resizable">True</property>
1704+ <property name="destroy_with_parent">False</property>
1705+ <property name="icon_name">applications-multimedia</property>
1706+ <property name="decorated">True</property>
1707+ <property name="skip_taskbar_hint">False</property>
1708+ <property name="skip_pager_hint">False</property>
1709+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
1710+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
1711+ <property name="focus_on_map">True</property>
1712+ <property name="urgency_hint">False</property>
1713+ <property name="has_separator">False</property>
1714+ <signal name="destroy" handler="on_ContentManagementDialog_destroy"/>
1715+
1716+ <child internal-child="vbox">
1717+ <widget class="GtkVBox" id="dialog-layout">
1718+ <property name="visible">True</property>
1719+ <property name="homogeneous">False</property>
1720+ <property name="spacing">2</property>
1721+
1722+ <child internal-child="action_area">
1723+ <widget class="GtkHButtonBox" id="dialog-closebutton-area">
1724+ <property name="visible">True</property>
1725+ <property name="layout_style">GTK_BUTTONBOX_END</property>
1726+
1727+ <child>
1728+ <widget class="GtkButton" id="close_button">
1729+ <property name="visible">True</property>
1730+ <property name="can_focus">True</property>
1731+ <property name="label">gtk-close</property>
1732+ <property name="use_stock">True</property>
1733+ <property name="relief">GTK_RELIEF_NORMAL</property>
1734+ <property name="focus_on_click">True</property>
1735+ <property name="response_id">0</property>
1736+ <signal name="clicked" handler="on_close_button_clicked"/>
1737+ </widget>
1738+ </child>
1739+ </widget>
1740+ <packing>
1741+ <property name="padding">0</property>
1742+ <property name="expand">False</property>
1743+ <property name="fill">True</property>
1744+ <property name="pack_type">GTK_PACK_END</property>
1745+ </packing>
1746+ </child>
1747+
1748+ <child>
1749+ <widget class="GtkNotebook" id="tabs">
1750+ <property name="visible">True</property>
1751+ <property name="can_default">True</property>
1752+ <property name="has_default">True</property>
1753+ <property name="can_focus">True</property>
1754+ <property name="has_focus">True</property>
1755+ <property name="show_tabs">True</property>
1756+ <property name="show_border">True</property>
1757+ <property name="tab_pos">GTK_POS_TOP</property>
1758+ <property name="scrollable">False</property>
1759+ <property name="enable_popup">False</property>
1760+
1761+ <child>
1762+ <widget class="GtkVBox" id="vbox_videos">
1763+ <property name="visible">True</property>
1764+ <property name="homogeneous">False</property>
1765+ <property name="spacing">0</property>
1766+
1767+ <child>
1768+ <widget class="GtkVBox" id="vbox1">
1769+ <property name="visible">True</property>
1770+ <property name="homogeneous">False</property>
1771+ <property name="spacing">0</property>
1772+
1773+ <child>
1774+ <widget class="GtkFrame" id="frame_video_lib1">
1775+ <property name="border_width">5</property>
1776+ <property name="visible">True</property>
1777+ <property name="label_xalign">0</property>
1778+ <property name="label_yalign">0.5</property>
1779+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
1780+
1781+ <child>
1782+ <widget class="GtkAlignment" id="alignment1">
1783+ <property name="visible">True</property>
1784+ <property name="xalign">0.5</property>
1785+ <property name="yalign">0.5</property>
1786+ <property name="xscale">1</property>
1787+ <property name="yscale">1</property>
1788+ <property name="top_padding">0</property>
1789+ <property name="bottom_padding">0</property>
1790+ <property name="left_padding">12</property>
1791+ <property name="right_padding">0</property>
1792+
1793+ <child>
1794+ <widget class="GtkVBox" id="vbox2">
1795+ <property name="visible">True</property>
1796+ <property name="homogeneous">False</property>
1797+ <property name="spacing">0</property>
1798+
1799+ <child>
1800+ <widget class="GtkLabel" id="label_media_folder_tip1">
1801+ <property name="visible">True</property>
1802+ <property name="label" translatable="yes">Entertainer will catalog the media in the folders below.</property>
1803+ <property name="use_underline">False</property>
1804+ <property name="use_markup">False</property>
1805+ <property name="justify">GTK_JUSTIFY_LEFT</property>
1806+ <property name="wrap">True</property>
1807+ <property name="selectable">False</property>
1808+ <property name="xalign">0</property>
1809+ <property name="yalign">0</property>
1810+ <property name="xpad">0</property>
1811+ <property name="ypad">0</property>
1812+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
1813+ <property name="width_chars">-1</property>
1814+ <property name="single_line_mode">True</property>
1815+ <property name="angle">0</property>
1816+ </widget>
1817+ <packing>
1818+ <property name="padding">5</property>
1819+ <property name="expand">False</property>
1820+ <property name="fill">True</property>
1821+ </packing>
1822+ </child>
1823+
1824+ <child>
1825+ <widget class="GtkHBox" id="hbox2">
1826+ <property name="visible">True</property>
1827+ <property name="homogeneous">False</property>
1828+ <property name="spacing">0</property>
1829+
1830+ <child>
1831+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
1832+ <property name="visible">True</property>
1833+ <property name="can_focus">True</property>
1834+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
1835+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
1836+ <property name="shadow_type">GTK_SHADOW_NONE</property>
1837+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
1838+
1839+ <child>
1840+ <widget class="GtkTreeView" id="treeview_media">
1841+ <property name="visible">True</property>
1842+ <property name="can_focus">True</property>
1843+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1844+ <property name="headers_visible">True</property>
1845+ <property name="rules_hint">False</property>
1846+ <property name="reorderable">False</property>
1847+ <property name="enable_search">False</property>
1848+ <property name="fixed_height_mode">False</property>
1849+ <property name="hover_selection">False</property>
1850+ <property name="hover_expand">False</property>
1851+ </widget>
1852+ </child>
1853+ </widget>
1854+ <packing>
1855+ <property name="padding">0</property>
1856+ <property name="expand">True</property>
1857+ <property name="fill">True</property>
1858+ </packing>
1859+ </child>
1860+
1861+ <child>
1862+ <widget class="GtkVButtonBox" id="vbuttonbox1">
1863+ <property name="visible">True</property>
1864+ <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
1865+ <property name="spacing">5</property>
1866+
1867+ <child>
1868+ <widget class="GtkButton" id="button_add_folder">
1869+ <property name="visible">True</property>
1870+ <property name="can_default">True</property>
1871+ <property name="has_default">True</property>
1872+ <property name="can_focus">True</property>
1873+ <property name="has_focus">True</property>
1874+ <property name="label">gtk-add</property>
1875+ <property name="use_stock">True</property>
1876+ <property name="relief">GTK_RELIEF_NORMAL</property>
1877+ <property name="focus_on_click">True</property>
1878+ <signal name="clicked" handler="on_button_add_media_clicked" last_modification_time="Sat, 11 Jul 2009 19:03:28 GMT"/>
1879+ </widget>
1880+ </child>
1881+
1882+ <child>
1883+ <widget class="GtkButton" id="button_remove_folder">
1884+ <property name="visible">True</property>
1885+ <property name="can_focus">True</property>
1886+ <property name="label">gtk-remove</property>
1887+ <property name="use_stock">True</property>
1888+ <property name="relief">GTK_RELIEF_NORMAL</property>
1889+ <property name="focus_on_click">True</property>
1890+ <signal name="clicked" handler="on_button_remove_media_clicked" last_modification_time="Sat, 11 Jul 2009 19:03:39 GMT"/>
1891+ </widget>
1892+ </child>
1893+
1894+ <child>
1895+ <widget class="GtkButton" id="button_edit_folder">
1896+ <property name="visible">True</property>
1897+ <property name="can_focus">True</property>
1898+ <property name="label">gtk-edit</property>
1899+ <property name="use_stock">True</property>
1900+ <property name="relief">GTK_RELIEF_NORMAL</property>
1901+ <property name="focus_on_click">True</property>
1902+ <signal name="clicked" handler="on_button_edit_media_clicked" last_modification_time="Sat, 11 Jul 2009 19:03:49 GMT"/>
1903+ </widget>
1904+ </child>
1905+ </widget>
1906+ <packing>
1907+ <property name="padding">5</property>
1908+ <property name="expand">False</property>
1909+ <property name="fill">True</property>
1910+ </packing>
1911+ </child>
1912+ </widget>
1913+ <packing>
1914+ <property name="padding">0</property>
1915+ <property name="expand">True</property>
1916+ <property name="fill">True</property>
1917+ </packing>
1918+ </child>
1919+ </widget>
1920+ </child>
1921+ </widget>
1922+ </child>
1923+
1924+ <child>
1925+ <widget class="GtkLabel" id="label_media_library">
1926+ <property name="visible">True</property>
1927+ <property name="label" translatable="yes">&lt;b&gt;Media Library&lt;/b&gt;</property>
1928+ <property name="use_underline">False</property>
1929+ <property name="use_markup">True</property>
1930+ <property name="justify">GTK_JUSTIFY_LEFT</property>
1931+ <property name="wrap">False</property>
1932+ <property name="selectable">False</property>
1933+ <property name="xalign">0.5</property>
1934+ <property name="yalign">0.5</property>
1935+ <property name="xpad">0</property>
1936+ <property name="ypad">0</property>
1937+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
1938+ <property name="width_chars">-1</property>
1939+ <property name="single_line_mode">False</property>
1940+ <property name="angle">0</property>
1941+ </widget>
1942+ <packing>
1943+ <property name="type">label_item</property>
1944+ </packing>
1945+ </child>
1946+ </widget>
1947+ <packing>
1948+ <property name="padding">0</property>
1949+ <property name="expand">True</property>
1950+ <property name="fill">True</property>
1951+ </packing>
1952+ </child>
1953+
1954+ <child>
1955+ <widget class="GtkHBox" id="hbox20">
1956+ <property name="visible">True</property>
1957+ <property name="homogeneous">False</property>
1958+ <property name="spacing">0</property>
1959+
1960+ <child>
1961+ <widget class="GtkVBox" id="vbox23">
1962+ <property name="visible">True</property>
1963+ <property name="homogeneous">False</property>
1964+ <property name="spacing">0</property>
1965+
1966+ <child>
1967+ <widget class="GtkCheckButton" id="video_metadata_checkbox">
1968+ <property name="visible">True</property>
1969+ <property name="can_focus">True</property>
1970+ <property name="label" translatable="yes">Download movie and TV-series metadata</property>
1971+ <property name="use_underline">True</property>
1972+ <property name="relief">GTK_RELIEF_NORMAL</property>
1973+ <property name="focus_on_click">True</property>
1974+ <property name="active">False</property>
1975+ <property name="inconsistent">False</property>
1976+ <property name="draw_indicator">True</property>
1977+ <signal name="toggled" handler="on_checkbutton_video_metadata_toggled" last_modification_time="Sat, 11 Jul 2009 19:09:32 GMT"/>
1978+ </widget>
1979+ <packing>
1980+ <property name="padding">1</property>
1981+ <property name="expand">False</property>
1982+ <property name="fill">False</property>
1983+ </packing>
1984+ </child>
1985+
1986+ <child>
1987+ <widget class="GtkCheckButton" id="art_checkbox">
1988+ <property name="visible">True</property>
1989+ <property name="can_focus">True</property>
1990+ <property name="label" translatable="yes">Download album cover art</property>
1991+ <property name="use_underline">True</property>
1992+ <property name="relief">GTK_RELIEF_NORMAL</property>
1993+ <property name="focus_on_click">True</property>
1994+ <property name="active">False</property>
1995+ <property name="inconsistent">False</property>
1996+ <property name="draw_indicator">True</property>
1997+ <signal name="toggled" handler="on_art_checkbox_toggled"/>
1998+ </widget>
1999+ <packing>
2000+ <property name="padding">1</property>
2001+ <property name="expand">False</property>
2002+ <property name="fill">False</property>
2003+ </packing>
2004+ </child>
2005+
2006+ <child>
2007+ <widget class="GtkCheckButton" id="lyrics_checkbox">
2008+ <property name="visible">True</property>
2009+ <property name="can_focus">True</property>
2010+ <property name="label" translatable="yes">Download song lyrics</property>
2011+ <property name="use_underline">True</property>
2012+ <property name="relief">GTK_RELIEF_NORMAL</property>
2013+ <property name="focus_on_click">True</property>
2014+ <property name="active">False</property>
2015+ <property name="inconsistent">False</property>
2016+ <property name="draw_indicator">True</property>
2017+ <signal name="toggled" handler="on_lyrics_checkbox_toggled"/>
2018+ </widget>
2019+ <packing>
2020+ <property name="padding">1</property>
2021+ <property name="expand">False</property>
2022+ <property name="fill">False</property>
2023+ </packing>
2024+ </child>
2025+ </widget>
2026+ <packing>
2027+ <property name="padding">15</property>
2028+ <property name="expand">True</property>
2029+ <property name="fill">True</property>
2030+ </packing>
2031+ </child>
2032+ </widget>
2033+ <packing>
2034+ <property name="padding">10</property>
2035+ <property name="expand">True</property>
2036+ <property name="fill">True</property>
2037+ </packing>
2038+ </child>
2039+ </widget>
2040+ <packing>
2041+ <property name="padding">0</property>
2042+ <property name="expand">True</property>
2043+ <property name="fill">True</property>
2044+ </packing>
2045+ </child>
2046+ </widget>
2047+ <packing>
2048+ <property name="tab_expand">False</property>
2049+ <property name="tab_fill">True</property>
2050+ </packing>
2051+ </child>
2052+
2053+ <child>
2054+ <widget class="GtkLabel" id="label_media">
2055+ <property name="visible">True</property>
2056+ <property name="has_default">True</property>
2057+ <property name="can_focus">True</property>
2058+ <property name="has_focus">True</property>
2059+ <property name="label" translatable="yes">Media</property>
2060+ <property name="use_underline">False</property>
2061+ <property name="use_markup">False</property>
2062+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2063+ <property name="wrap">False</property>
2064+ <property name="selectable">False</property>
2065+ <property name="xalign">0.5</property>
2066+ <property name="yalign">0.5</property>
2067+ <property name="xpad">0</property>
2068+ <property name="ypad">0</property>
2069+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2070+ <property name="width_chars">-1</property>
2071+ <property name="single_line_mode">False</property>
2072+ <property name="angle">0</property>
2073+ </widget>
2074+ <packing>
2075+ <property name="type">tab</property>
2076+ </packing>
2077+ </child>
2078+
2079+ <child>
2080+ <widget class="GtkVBox" id="vbox_feeds">
2081+ <property name="visible">True</property>
2082+ <property name="homogeneous">False</property>
2083+ <property name="spacing">0</property>
2084+
2085+ <child>
2086+ <widget class="GtkFrame" id="frame_rss_feeds3">
2087+ <property name="border_width">5</property>
2088+ <property name="visible">True</property>
2089+ <property name="label_xalign">0</property>
2090+ <property name="label_yalign">0.5</property>
2091+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
2092+
2093+ <child>
2094+ <widget class="GtkAlignment" id="alignment13">
2095+ <property name="visible">True</property>
2096+ <property name="xalign">0.5</property>
2097+ <property name="yalign">0.5</property>
2098+ <property name="xscale">1</property>
2099+ <property name="yscale">1</property>
2100+ <property name="top_padding">0</property>
2101+ <property name="bottom_padding">0</property>
2102+ <property name="left_padding">12</property>
2103+ <property name="right_padding">0</property>
2104+
2105+ <child>
2106+ <widget class="GtkVBox" id="vbox17">
2107+ <property name="visible">True</property>
2108+ <property name="homogeneous">False</property>
2109+ <property name="spacing">0</property>
2110+
2111+ <child>
2112+ <widget class="GtkLabel" id="label_rss_tip3">
2113+ <property name="visible">True</property>
2114+ <property name="label" translatable="yes">Below is a list of RSS feeds that are displayd in Entertainer.</property>
2115+ <property name="use_underline">False</property>
2116+ <property name="use_markup">False</property>
2117+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2118+ <property name="wrap">False</property>
2119+ <property name="selectable">False</property>
2120+ <property name="xalign">0</property>
2121+ <property name="yalign">0.5</property>
2122+ <property name="xpad">0</property>
2123+ <property name="ypad">0</property>
2124+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2125+ <property name="width_chars">-1</property>
2126+ <property name="single_line_mode">False</property>
2127+ <property name="angle">0</property>
2128+ </widget>
2129+ <packing>
2130+ <property name="padding">5</property>
2131+ <property name="expand">False</property>
2132+ <property name="fill">True</property>
2133+ </packing>
2134+ </child>
2135+
2136+ <child>
2137+ <widget class="GtkHBox" id="hbox16">
2138+ <property name="visible">True</property>
2139+ <property name="homogeneous">False</property>
2140+ <property name="spacing">0</property>
2141+
2142+ <child>
2143+ <widget class="GtkScrolledWindow" id="scrolledwindow_rss3">
2144+ <property name="visible">True</property>
2145+ <property name="can_focus">True</property>
2146+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2147+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2148+ <property name="shadow_type">GTK_SHADOW_NONE</property>
2149+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
2150+
2151+ <child>
2152+ <widget class="GtkTreeView" id="treeview_feeds">
2153+ <property name="visible">True</property>
2154+ <property name="can_focus">True</property>
2155+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2156+ <property name="headers_visible">True</property>
2157+ <property name="rules_hint">False</property>
2158+ <property name="reorderable">False</property>
2159+ <property name="enable_search">False</property>
2160+ <property name="fixed_height_mode">False</property>
2161+ <property name="hover_selection">False</property>
2162+ <property name="hover_expand">False</property>
2163+ </widget>
2164+ </child>
2165+ </widget>
2166+ <packing>
2167+ <property name="padding">0</property>
2168+ <property name="expand">True</property>
2169+ <property name="fill">True</property>
2170+ </packing>
2171+ </child>
2172+
2173+ <child>
2174+ <widget class="GtkVButtonBox" id="vbuttonbox8">
2175+ <property name="visible">True</property>
2176+ <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
2177+ <property name="spacing">5</property>
2178+
2179+ <child>
2180+ <widget class="GtkButton" id="button_add_feed">
2181+ <property name="visible">True</property>
2182+ <property name="tooltip" translatable="yes">Add RSS Feed</property>
2183+ <property name="can_focus">True</property>
2184+ <property name="label">gtk-add</property>
2185+ <property name="use_stock">True</property>
2186+ <property name="relief">GTK_RELIEF_NORMAL</property>
2187+ <property name="focus_on_click">True</property>
2188+ <signal name="clicked" handler="on_button_add_feed_clicked"/>
2189+ </widget>
2190+ </child>
2191+
2192+ <child>
2193+ <widget class="GtkButton" id="button_remove_feed">
2194+ <property name="visible">True</property>
2195+ <property name="tooltip" translatable="yes">Remove RSS Feed</property>
2196+ <property name="can_focus">True</property>
2197+ <property name="label">gtk-remove</property>
2198+ <property name="use_stock">True</property>
2199+ <property name="relief">GTK_RELIEF_NORMAL</property>
2200+ <property name="focus_on_click">True</property>
2201+ <signal name="clicked" handler="on_button_remove_feed_clicked"/>
2202+ </widget>
2203+ </child>
2204+
2205+ <child>
2206+ <widget class="GtkButton" id="button_edit_feed">
2207+ <property name="visible">True</property>
2208+ <property name="tooltip" translatable="yes">Edit current item</property>
2209+ <property name="can_focus">True</property>
2210+ <property name="label">gtk-edit</property>
2211+ <property name="use_stock">True</property>
2212+ <property name="relief">GTK_RELIEF_NORMAL</property>
2213+ <property name="focus_on_click">True</property>
2214+ <signal name="clicked" handler="on_button_edit_feed_clicked"/>
2215+ </widget>
2216+ </child>
2217+
2218+ <child>
2219+ <widget class="GtkButton" id="button_open_list">
2220+ <property name="visible">True</property>
2221+ <property name="tooltip" translatable="yes">Add feeds from a datasource</property>
2222+ <property name="can_focus">True</property>
2223+ <property name="label">gtk-open</property>
2224+ <property name="use_stock">True</property>
2225+ <property name="relief">GTK_RELIEF_NORMAL</property>
2226+ <property name="focus_on_click">True</property>
2227+ <signal name="clicked" handler="on_button_open_list_clicked"/>
2228+ </widget>
2229+ </child>
2230+ </widget>
2231+ <packing>
2232+ <property name="padding">5</property>
2233+ <property name="expand">False</property>
2234+ <property name="fill">True</property>
2235+ </packing>
2236+ </child>
2237+ </widget>
2238+ <packing>
2239+ <property name="padding">0</property>
2240+ <property name="expand">True</property>
2241+ <property name="fill">True</property>
2242+ </packing>
2243+ </child>
2244+ </widget>
2245+ </child>
2246+ </widget>
2247+ </child>
2248+
2249+ <child>
2250+ <widget class="GtkLabel" id="label_rss_sources3">
2251+ <property name="visible">True</property>
2252+ <property name="label" translatable="yes">&lt;b&gt;RSS feeds&lt;/b&gt;</property>
2253+ <property name="use_underline">False</property>
2254+ <property name="use_markup">True</property>
2255+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2256+ <property name="wrap">False</property>
2257+ <property name="selectable">False</property>
2258+ <property name="xalign">0.5</property>
2259+ <property name="yalign">0.5</property>
2260+ <property name="xpad">0</property>
2261+ <property name="ypad">0</property>
2262+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2263+ <property name="width_chars">-1</property>
2264+ <property name="single_line_mode">False</property>
2265+ <property name="angle">0</property>
2266+ </widget>
2267+ <packing>
2268+ <property name="type">label_item</property>
2269+ </packing>
2270+ </child>
2271+ </widget>
2272+ <packing>
2273+ <property name="padding">0</property>
2274+ <property name="expand">True</property>
2275+ <property name="fill">True</property>
2276+ </packing>
2277+ </child>
2278+
2279+ <child>
2280+ <widget class="GtkFrame" id="frame_feed_settings3">
2281+ <property name="border_width">5</property>
2282+ <property name="visible">True</property>
2283+ <property name="label_xalign">0</property>
2284+ <property name="label_yalign">0.5</property>
2285+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
2286+
2287+ <child>
2288+ <widget class="GtkAlignment" id="alignment14">
2289+ <property name="visible">True</property>
2290+ <property name="xalign">0.5</property>
2291+ <property name="yalign">0.5</property>
2292+ <property name="xscale">1</property>
2293+ <property name="yscale">1</property>
2294+ <property name="top_padding">0</property>
2295+ <property name="bottom_padding">0</property>
2296+ <property name="left_padding">12</property>
2297+ <property name="right_padding">0</property>
2298+
2299+ <child>
2300+ <widget class="GtkVBox" id="vbox18">
2301+ <property name="visible">True</property>
2302+ <property name="homogeneous">False</property>
2303+ <property name="spacing">0</property>
2304+
2305+ <child>
2306+ <widget class="GtkHBox" id="hbox17">
2307+ <property name="visible">True</property>
2308+ <property name="homogeneous">False</property>
2309+ <property name="spacing">0</property>
2310+
2311+ <child>
2312+ <widget class="GtkLabel" id="label12">
2313+ <property name="visible">True</property>
2314+ <property name="label" translatable="yes">Update all feeds every</property>
2315+ <property name="use_underline">False</property>
2316+ <property name="use_markup">False</property>
2317+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2318+ <property name="wrap">False</property>
2319+ <property name="selectable">False</property>
2320+ <property name="xalign">0.5</property>
2321+ <property name="yalign">0.5</property>
2322+ <property name="xpad">0</property>
2323+ <property name="ypad">0</property>
2324+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2325+ <property name="width_chars">-1</property>
2326+ <property name="single_line_mode">False</property>
2327+ <property name="angle">0</property>
2328+ </widget>
2329+ <packing>
2330+ <property name="padding">0</property>
2331+ <property name="expand">False</property>
2332+ <property name="fill">True</property>
2333+ </packing>
2334+ </child>
2335+
2336+ <child>
2337+ <widget class="GtkSpinButton" id="fetch_interval_spinbutton">
2338+ <property name="visible">True</property>
2339+ <property name="can_focus">True</property>
2340+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2341+ <property name="climb_rate">1</property>
2342+ <property name="digits">0</property>
2343+ <property name="numeric">True</property>
2344+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
2345+ <property name="snap_to_ticks">False</property>
2346+ <property name="wrap">False</property>
2347+ <property name="adjustment">60 15 900 1 10 0</property>
2348+ <signal name="value_changed" handler="on_fetch_interval_spinbutton_value_changed"/>
2349+ </widget>
2350+ <packing>
2351+ <property name="padding">5</property>
2352+ <property name="expand">False</property>
2353+ <property name="fill">True</property>
2354+ </packing>
2355+ </child>
2356+
2357+ <child>
2358+ <widget class="GtkLabel" id="label13">
2359+ <property name="visible">True</property>
2360+ <property name="label" translatable="yes">minutes.</property>
2361+ <property name="use_underline">False</property>
2362+ <property name="use_markup">False</property>
2363+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2364+ <property name="wrap">False</property>
2365+ <property name="selectable">False</property>
2366+ <property name="xalign">0.5</property>
2367+ <property name="yalign">0.5</property>
2368+ <property name="xpad">0</property>
2369+ <property name="ypad">0</property>
2370+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2371+ <property name="width_chars">-1</property>
2372+ <property name="single_line_mode">False</property>
2373+ <property name="angle">0</property>
2374+ </widget>
2375+ <packing>
2376+ <property name="padding">0</property>
2377+ <property name="expand">False</property>
2378+ <property name="fill">True</property>
2379+ </packing>
2380+ </child>
2381+ </widget>
2382+ <packing>
2383+ <property name="padding">10</property>
2384+ <property name="expand">False</property>
2385+ <property name="fill">True</property>
2386+ </packing>
2387+ </child>
2388+ </widget>
2389+ </child>
2390+ </widget>
2391+ </child>
2392+
2393+ <child>
2394+ <widget class="GtkLabel" id="label_rss_settings3">
2395+ <property name="visible">True</property>
2396+ <property name="label" translatable="yes">&lt;b&gt;Feed settings&lt;/b&gt;</property>
2397+ <property name="use_underline">False</property>
2398+ <property name="use_markup">True</property>
2399+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2400+ <property name="wrap">False</property>
2401+ <property name="selectable">False</property>
2402+ <property name="xalign">0.5</property>
2403+ <property name="yalign">0.5</property>
2404+ <property name="xpad">0</property>
2405+ <property name="ypad">0</property>
2406+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2407+ <property name="width_chars">-1</property>
2408+ <property name="single_line_mode">False</property>
2409+ <property name="angle">0</property>
2410+ </widget>
2411+ <packing>
2412+ <property name="type">label_item</property>
2413+ </packing>
2414+ </child>
2415+ </widget>
2416+ <packing>
2417+ <property name="padding">0</property>
2418+ <property name="expand">False</property>
2419+ <property name="fill">True</property>
2420+ </packing>
2421+ </child>
2422+ </widget>
2423+ <packing>
2424+ <property name="tab_expand">False</property>
2425+ <property name="tab_fill">True</property>
2426+ </packing>
2427+ </child>
2428+
2429+ <child>
2430+ <widget class="GtkLabel" id="label_rss3">
2431+ <property name="visible">True</property>
2432+ <property name="label" translatable="yes">RSS feeds</property>
2433+ <property name="use_underline">False</property>
2434+ <property name="use_markup">False</property>
2435+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2436+ <property name="wrap">False</property>
2437+ <property name="selectable">False</property>
2438+ <property name="xalign">0.5</property>
2439+ <property name="yalign">0.5</property>
2440+ <property name="xpad">0</property>
2441+ <property name="ypad">0</property>
2442+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2443+ <property name="width_chars">-1</property>
2444+ <property name="single_line_mode">False</property>
2445+ <property name="angle">0</property>
2446+ </widget>
2447+ <packing>
2448+ <property name="type">tab</property>
2449+ </packing>
2450+ </child>
2451+
2452+ <child>
2453+ <widget class="GtkVBox" id="vbox5">
2454+ <property name="visible">True</property>
2455+ <property name="homogeneous">False</property>
2456+ <property name="spacing">0</property>
2457+
2458+ <child>
2459+ <widget class="GtkFrame" id="frame_video_lib3">
2460+ <property name="border_width">5</property>
2461+ <property name="visible">True</property>
2462+ <property name="label_xalign">0</property>
2463+ <property name="label_yalign">0.5</property>
2464+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
2465+
2466+ <child>
2467+ <widget class="GtkAlignment" id="alignment5">
2468+ <property name="visible">True</property>
2469+ <property name="xalign">0.5</property>
2470+ <property name="yalign">0.5</property>
2471+ <property name="xscale">1</property>
2472+ <property name="yscale">1</property>
2473+ <property name="top_padding">0</property>
2474+ <property name="bottom_padding">0</property>
2475+ <property name="left_padding">12</property>
2476+ <property name="right_padding">0</property>
2477+
2478+ <child>
2479+ <widget class="GtkVBox" id="weather_location_list_area">
2480+ <property name="visible">True</property>
2481+ <property name="homogeneous">False</property>
2482+ <property name="spacing">0</property>
2483+
2484+ <child>
2485+ <widget class="GtkLabel" id="label_weather_tip">
2486+ <property name="visible">True</property>
2487+ <property name="label" translatable="yes">Get weather conditions from the locations listed below.</property>
2488+ <property name="use_underline">False</property>
2489+ <property name="use_markup">False</property>
2490+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2491+ <property name="wrap">False</property>
2492+ <property name="selectable">False</property>
2493+ <property name="xalign">0</property>
2494+ <property name="yalign">0.5</property>
2495+ <property name="xpad">0</property>
2496+ <property name="ypad">0</property>
2497+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2498+ <property name="width_chars">-1</property>
2499+ <property name="single_line_mode">True</property>
2500+ <property name="angle">0</property>
2501+ </widget>
2502+ <packing>
2503+ <property name="padding">5</property>
2504+ <property name="expand">False</property>
2505+ <property name="fill">True</property>
2506+ </packing>
2507+ </child>
2508+
2509+ <child>
2510+ <widget class="GtkHBox" id="hbox4">
2511+ <property name="visible">True</property>
2512+ <property name="homogeneous">False</property>
2513+ <property name="spacing">0</property>
2514+
2515+ <child>
2516+ <widget class="GtkScrolledWindow" id="scrolledwindow3">
2517+ <property name="visible">True</property>
2518+ <property name="can_focus">True</property>
2519+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2520+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2521+ <property name="shadow_type">GTK_SHADOW_NONE</property>
2522+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
2523+
2524+ <child>
2525+ <widget class="GtkTreeView" id="treeview_locations">
2526+ <property name="visible">True</property>
2527+ <property name="can_focus">True</property>
2528+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2529+ <property name="headers_visible">True</property>
2530+ <property name="rules_hint">False</property>
2531+ <property name="reorderable">False</property>
2532+ <property name="enable_search">False</property>
2533+ <property name="fixed_height_mode">False</property>
2534+ <property name="hover_selection">False</property>
2535+ <property name="hover_expand">False</property>
2536+ </widget>
2537+ </child>
2538+ </widget>
2539+ <packing>
2540+ <property name="padding">0</property>
2541+ <property name="expand">True</property>
2542+ <property name="fill">True</property>
2543+ </packing>
2544+ </child>
2545+
2546+ <child>
2547+ <widget class="GtkVButtonBox" id="vbuttonbox3">
2548+ <property name="visible">True</property>
2549+ <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
2550+ <property name="spacing">5</property>
2551+
2552+ <child>
2553+ <widget class="GtkButton" id="button_add_weather">
2554+ <property name="visible">True</property>
2555+ <property name="can_default">True</property>
2556+ <property name="has_default">True</property>
2557+ <property name="can_focus">True</property>
2558+ <property name="has_focus">True</property>
2559+ <property name="label">gtk-new</property>
2560+ <property name="use_stock">True</property>
2561+ <property name="relief">GTK_RELIEF_NORMAL</property>
2562+ <property name="focus_on_click">True</property>
2563+ <signal name="clicked" handler="on_button_add_weather_clicked"/>
2564+ </widget>
2565+ </child>
2566+
2567+ <child>
2568+ <widget class="GtkButton" id="button_remove_weather">
2569+ <property name="visible">True</property>
2570+ <property name="can_focus">True</property>
2571+ <property name="label">gtk-clear</property>
2572+ <property name="use_stock">True</property>
2573+ <property name="relief">GTK_RELIEF_NORMAL</property>
2574+ <property name="focus_on_click">True</property>
2575+ <signal name="clicked" handler="on_button_remove_weather_clicked"/>
2576+ </widget>
2577+ </child>
2578+ </widget>
2579+ <packing>
2580+ <property name="padding">5</property>
2581+ <property name="expand">False</property>
2582+ <property name="fill">True</property>
2583+ </packing>
2584+ </child>
2585+ </widget>
2586+ <packing>
2587+ <property name="padding">0</property>
2588+ <property name="expand">True</property>
2589+ <property name="fill">True</property>
2590+ </packing>
2591+ </child>
2592+ </widget>
2593+ </child>
2594+ </widget>
2595+ </child>
2596+
2597+ <child>
2598+ <widget class="GtkLabel" id="label_weather_options">
2599+ <property name="visible">True</property>
2600+ <property name="label" translatable="yes">&lt;b&gt;Weather locations&lt;/b&gt;</property>
2601+ <property name="use_underline">False</property>
2602+ <property name="use_markup">True</property>
2603+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2604+ <property name="wrap">False</property>
2605+ <property name="selectable">False</property>
2606+ <property name="xalign">0.5</property>
2607+ <property name="yalign">0.5</property>
2608+ <property name="xpad">0</property>
2609+ <property name="ypad">0</property>
2610+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2611+ <property name="width_chars">-1</property>
2612+ <property name="single_line_mode">False</property>
2613+ <property name="angle">0</property>
2614+ </widget>
2615+ <packing>
2616+ <property name="type">label_item</property>
2617+ </packing>
2618+ </child>
2619+ </widget>
2620+ <packing>
2621+ <property name="padding">0</property>
2622+ <property name="expand">True</property>
2623+ <property name="fill">True</property>
2624+ </packing>
2625+ </child>
2626+
2627+ <child>
2628+ <widget class="GtkFrame" id="frame4">
2629+ <property name="visible">True</property>
2630+ <property name="label_xalign">0</property>
2631+ <property name="label_yalign">0.5</property>
2632+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
2633+
2634+ <child>
2635+ <widget class="GtkAlignment" id="alignment7">
2636+ <property name="visible">True</property>
2637+ <property name="xalign">0.5</property>
2638+ <property name="yalign">0.5</property>
2639+ <property name="xscale">1</property>
2640+ <property name="yscale">1</property>
2641+ <property name="top_padding">0</property>
2642+ <property name="bottom_padding">0</property>
2643+ <property name="left_padding">12</property>
2644+ <property name="right_padding">0</property>
2645+
2646+ <child>
2647+ <widget class="GtkVBox" id="vbox7">
2648+ <property name="visible">True</property>
2649+ <property name="homogeneous">False</property>
2650+ <property name="spacing">0</property>
2651+
2652+ <child>
2653+ <widget class="GtkCheckButton" id="weather_display_checkbox">
2654+ <property name="visible">True</property>
2655+ <property name="can_focus">True</property>
2656+ <property name="label" translatable="yes">Display weather option in main menu</property>
2657+ <property name="use_underline">True</property>
2658+ <property name="relief">GTK_RELIEF_NORMAL</property>
2659+ <property name="focus_on_click">True</property>
2660+ <property name="active">True</property>
2661+ <property name="inconsistent">False</property>
2662+ <property name="draw_indicator">True</property>
2663+ <signal name="toggled" handler="on_weather_display_checkbox_toggled"/>
2664+ </widget>
2665+ <packing>
2666+ <property name="padding">0</property>
2667+ <property name="expand">True</property>
2668+ <property name="fill">False</property>
2669+ </packing>
2670+ </child>
2671+ </widget>
2672+ </child>
2673+ </widget>
2674+ </child>
2675+
2676+ <child>
2677+ <widget class="GtkLabel" id="label7">
2678+ <property name="visible">True</property>
2679+ <property name="label" translatable="yes">&lt;b&gt;Weather settings&lt;/b&gt;</property>
2680+ <property name="use_underline">False</property>
2681+ <property name="use_markup">True</property>
2682+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2683+ <property name="wrap">False</property>
2684+ <property name="selectable">False</property>
2685+ <property name="xalign">0.5</property>
2686+ <property name="yalign">0.5</property>
2687+ <property name="xpad">0</property>
2688+ <property name="ypad">0</property>
2689+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2690+ <property name="width_chars">-1</property>
2691+ <property name="single_line_mode">False</property>
2692+ <property name="angle">0</property>
2693+ </widget>
2694+ <packing>
2695+ <property name="type">label_item</property>
2696+ </packing>
2697+ </child>
2698+ </widget>
2699+ <packing>
2700+ <property name="padding">0</property>
2701+ <property name="expand">True</property>
2702+ <property name="fill">True</property>
2703+ </packing>
2704+ </child>
2705+ </widget>
2706+ <packing>
2707+ <property name="tab_expand">False</property>
2708+ <property name="tab_fill">True</property>
2709+ </packing>
2710+ </child>
2711+
2712+ <child>
2713+ <widget class="GtkLabel" id="label_weather">
2714+ <property name="visible">True</property>
2715+ <property name="label" translatable="yes">Weather</property>
2716+ <property name="use_underline">False</property>
2717+ <property name="use_markup">False</property>
2718+ <property name="justify">GTK_JUSTIFY_LEFT</property>
2719+ <property name="wrap">False</property>
2720+ <property name="selectable">False</property>
2721+ <property name="xalign">0.5</property>
2722+ <property name="yalign">0.409999996424</property>
2723+ <property name="xpad">0</property>
2724+ <property name="ypad">0</property>
2725+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2726+ <property name="width_chars">-1</property>
2727+ <property name="single_line_mode">False</property>
2728+ <property name="angle">0</property>
2729+ </widget>
2730+ <packing>
2731+ <property name="type">tab</property>
2732+ </packing>
2733+ </child>
2734+
2735+ <child>
2736+ <widget class="GtkFrame" id="frame2">
2737+ <property name="border_width">5</property>
2738+ <property name="visible">True</property>
2739+ <property name="label_xalign">0</property>
2740+ <property name="label_yalign">0.5</property>
2741+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
2742+
2743+ <child>
2744+ <widget class="GtkAlignment" id="alignment3">
2745+ <property name="visible">True</property>
2746+ <property name="xalign">0.5</property>
2747+ <property name="yalign">0.5</property>
2748+ <property name="xscale">1</property>
2749+ <property name="yscale">1</property>
2750+ <property name="top_padding">0</property>
2751+ <property name="bottom_padding">0</property>
2752+ <property name="left_padding">12</property>
2753+ <property name="right_padding">0</property>
2754+
2755+ <child>
2756+ <widget class="GtkVBox" id="vbox3">
2757+ <property name="visible">True</property>
2758+ <property name="homogeneous">False</property>
2759+ <property name="spacing">0</property>
2760+
2761+ <child>
2762+ <widget class="GtkLabel" id="label5">
2763+ <property name="visible">True</property>
2764+ <property name="label" translatable="yes">Rebuilding cache means that all data is removed and then
2765 folders are indexed again. This fixes broken media cache.</property>
2766- </widget>
2767- <packing>
2768- <property name="position">0</property>
2769- </packing>
2770- </child>
2771- <child>
2772- <widget class="GtkButton" id="button_video_rebuild">
2773- <property name="label" translatable="yes">Rebuild video cache</property>
2774- <property name="visible">True</property>
2775- <property name="can_focus">True</property>
2776- <property name="receives_default">False</property>
2777- <property name="border_width">5</property>
2778- <property name="use_underline">True</property>
2779- <signal name="clicked" handler="on_button_video_rebuild_clicked"/>
2780- </widget>
2781- <packing>
2782- <property name="position">1</property>
2783- </packing>
2784- </child>
2785- <child>
2786- <widget class="GtkButton" id="button_music_rebuild">
2787- <property name="label" translatable="yes">Rebuild music cache</property>
2788- <property name="visible">True</property>
2789- <property name="can_focus">True</property>
2790- <property name="receives_default">False</property>
2791- <property name="border_width">5</property>
2792- <property name="use_underline">True</property>
2793- <signal name="clicked" handler="on_button_music_rebuild_clicked"/>
2794- </widget>
2795- <packing>
2796- <property name="position">2</property>
2797- </packing>
2798- </child>
2799- <child>
2800- <widget class="GtkButton" id="button_image_rebuild">
2801- <property name="label" translatable="yes">Rebuild image cache</property>
2802- <property name="visible">True</property>
2803- <property name="can_focus">True</property>
2804- <property name="receives_default">False</property>
2805- <property name="border_width">5</property>
2806- <property name="use_underline">True</property>
2807- <signal name="clicked" handler="on_button_image_rebuild_clicked"/>
2808- </widget>
2809- <packing>
2810- <property name="position">3</property>
2811- </packing>
2812- </child>
2813- <child>
2814- <widget class="GtkButton" id="button_feed_rebuild">
2815- <property name="label" translatable="yes">Rebuild RSS-feed cache</property>
2816- <property name="visible">True</property>
2817- <property name="can_focus">True</property>
2818- <property name="receives_default">False</property>
2819- <property name="border_width">5</property>
2820- <property name="use_underline">True</property>
2821- <property name="focus_on_click">False</property>
2822- <signal name="clicked" handler="on_button_feed_rebuild_clicked"/>
2823- </widget>
2824- <packing>
2825- <property name="position">4</property>
2826- </packing>
2827- </child>
2828- </widget>
2829- </child>
2830- </widget>
2831- </child>
2832- <child>
2833- <widget class="GtkLabel" id="label4">
2834- <property name="visible">True</property>
2835- <property name="label" translatable="yes">&lt;b&gt;Media cache management&lt;/b&gt;</property>
2836- <property name="use_markup">True</property>
2837- </widget>
2838- <packing>
2839- <property name="type">label_item</property>
2840- </packing>
2841- </child>
2842- </widget>
2843- <packing>
2844- <property name="position">5</property>
2845- </packing>
2846- </child>
2847- <child>
2848- <widget class="GtkLabel" id="label3">
2849- <property name="visible">True</property>
2850- <property name="label" translatable="yes">Reset</property>
2851- </widget>
2852- <packing>
2853- <property name="position">5</property>
2854- <property name="tab_fill">False</property>
2855- <property name="type">tab</property>
2856- </packing>
2857- </child>
2858- </widget>
2859- <packing>
2860- <property name="position">1</property>
2861- </packing>
2862- </child>
2863- <child internal-child="action_area">
2864- <widget class="GtkHButtonBox" id="dialog-closebutton-area">
2865- <property name="visible">True</property>
2866- <property name="layout_style">end</property>
2867- <child>
2868- <widget class="GtkButton" id="close_button">
2869- <property name="label">gtk-close</property>
2870- <property name="visible">True</property>
2871- <property name="can_focus">True</property>
2872- <property name="receives_default">False</property>
2873- <property name="use_stock">True</property>
2874- <signal name="clicked" handler="on_close_button_clicked"/>
2875- </widget>
2876- <packing>
2877- <property name="expand">False</property>
2878- <property name="fill">False</property>
2879- <property name="position">0</property>
2880- </packing>
2881- </child>
2882- </widget>
2883- <packing>
2884- <property name="expand">False</property>
2885- <property name="pack_type">end</property>
2886- <property name="position">0</property>
2887- </packing>
2888- </child>
2889- </widget>
2890- </child>
2891- </widget>
2892- <widget class="GtkDialog" id="url_dialog">
2893- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2894- <property name="border_width">5</property>
2895- <property name="resizable">False</property>
2896- <property name="modal">True</property>
2897- <property name="window_position">center-on-parent</property>
2898- <property name="destroy_with_parent">True</property>
2899- <property name="icon_name">gtk-edit</property>
2900- <property name="type_hint">normal</property>
2901- <property name="skip_taskbar_hint">True</property>
2902- <property name="has_separator">False</property>
2903- <signal name="delete_event" handler="on_url_dialog_delete_event"/>
2904- <child internal-child="vbox">
2905- <widget class="GtkVBox" id="dialog-vbox2">
2906- <property name="visible">True</property>
2907- <property name="spacing">2</property>
2908- <child>
2909- <widget class="GtkHBox" id="hbox1">
2910- <property name="visible">True</property>
2911- <child>
2912- <widget class="GtkLabel" id="label1">
2913- <property name="visible">True</property>
2914- <property name="label" translatable="yes">URL:</property>
2915- </widget>
2916- <packing>
2917- <property name="expand">False</property>
2918- <property name="padding">5</property>
2919- <property name="position">0</property>
2920- </packing>
2921- </child>
2922- <child>
2923- <widget class="GtkEntry" id="url_entry">
2924- <property name="visible">True</property>
2925- <property name="can_focus">True</property>
2926- <property name="has_focus">True</property>
2927- <property name="can_default">True</property>
2928- <property name="has_default">True</property>
2929- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2930- </widget>
2931- <packing>
2932- <property name="position">1</property>
2933- </packing>
2934- </child>
2935- </widget>
2936- <packing>
2937- <property name="position">1</property>
2938- </packing>
2939- </child>
2940- <child internal-child="action_area">
2941- <widget class="GtkHButtonBox" id="dialog-action_area2">
2942- <property name="visible">True</property>
2943- <property name="layout_style">end</property>
2944- <child>
2945- <widget class="GtkButton" id="url_dialog_cancel_button">
2946- <property name="label">gtk-cancel</property>
2947- <property name="visible">True</property>
2948- <property name="can_focus">True</property>
2949- <property name="receives_default">False</property>
2950- <property name="use_stock">True</property>
2951- <signal name="clicked" handler="on_url_dialog_cancel_button_clicked"/>
2952- </widget>
2953- <packing>
2954- <property name="expand">False</property>
2955- <property name="fill">False</property>
2956- <property name="position">0</property>
2957- </packing>
2958- </child>
2959- <child>
2960- <widget class="GtkButton" id="url_dialog_ok_button">
2961- <property name="label">gtk-ok</property>
2962- <property name="visible">True</property>
2963- <property name="can_focus">True</property>
2964- <property name="receives_default">False</property>
2965- <property name="use_stock">True</property>
2966- <signal name="clicked" handler="on_url_dialog_ok_button_clicked"/>
2967- </widget>
2968- <packing>
2969- <property name="expand">False</property>
2970- <property name="fill">False</property>
2971- <property name="position">1</property>
2972- </packing>
2973- </child>
2974- </widget>
2975- <packing>
2976- <property name="expand">False</property>
2977- <property name="pack_type">end</property>
2978- <property name="position">0</property>
2979- </packing>
2980- </child>
2981- </widget>
2982- </child>
2983- </widget>
2984- <widget class="GtkDialog" id="weather_search_dialog">
2985- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2986- <property name="border_width">5</property>
2987- <property name="window_position">center-on-parent</property>
2988- <property name="type_hint">dialog</property>
2989- <property name="has_separator">False</property>
2990- <child internal-child="vbox">
2991- <widget class="GtkVBox" id="vbox20">
2992- <property name="visible">True</property>
2993- <property name="spacing">2</property>
2994- <child>
2995- <widget class="GtkVBox" id="vbox21">
2996- <property name="visible">True</property>
2997- <child>
2998- <widget class="GtkFrame" id="frame6">
2999- <property name="visible">True</property>
3000- <property name="label_xalign">0</property>
3001- <property name="shadow_type">none</property>
3002- <child>
3003- <widget class="GtkAlignment" id="alignment16">
3004- <property name="visible">True</property>
3005- <property name="top_padding">5</property>
3006- <property name="left_padding">12</property>
3007- <child>
3008- <widget class="GtkHBox" id="hbox18">
3009- <property name="visible">True</property>
3010- <child>
3011- <widget class="GtkLabel" id="label19">
3012- <property name="visible">True</property>
3013- <property name="label" translatable="yes">City:</property>
3014- </widget>
3015- <packing>
3016- <property name="expand">False</property>
3017- <property name="position">0</property>
3018- </packing>
3019- </child>
3020- <child>
3021- <widget class="GtkEntry" id="location_entry">
3022- <property name="visible">True</property>
3023- <property name="can_focus">True</property>
3024- <property name="has_focus">True</property>
3025- <property name="can_default">True</property>
3026- <property name="has_default">True</property>
3027- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3028- <signal name="activate" handler="on_location_entry_activate"/>
3029- </widget>
3030- <packing>
3031- <property name="padding">5</property>
3032- <property name="position">1</property>
3033- </packing>
3034- </child>
3035- <child>
3036- <widget class="GtkButton" id="location_find_button">
3037- <property name="label">gtk-find</property>
3038- <property name="visible">True</property>
3039- <property name="can_focus">True</property>
3040- <property name="receives_default">False</property>
3041- <property name="use_stock">True</property>
3042- <signal name="clicked" handler="on_location_find_button_clicked"/>
3043- </widget>
3044- <packing>
3045- <property name="padding">5</property>
3046- <property name="position">2</property>
3047- </packing>
3048- </child>
3049- </widget>
3050- </child>
3051- </widget>
3052- </child>
3053- <child>
3054- <widget class="GtkLabel" id="label20">
3055- <property name="visible">True</property>
3056- <property name="label" translatable="yes">&lt;b&gt;Search for location&lt;/b&gt;</property>
3057- <property name="use_markup">True</property>
3058- </widget>
3059- <packing>
3060- <property name="type">label_item</property>
3061- </packing>
3062- </child>
3063- </widget>
3064- <packing>
3065- <property name="expand">False</property>
3066- <property name="padding">5</property>
3067- <property name="position">0</property>
3068- </packing>
3069- </child>
3070- <child>
3071- <widget class="GtkFrame" id="frame7">
3072- <property name="visible">True</property>
3073- <property name="label_xalign">0</property>
3074- <property name="shadow_type">none</property>
3075- <child>
3076- <widget class="GtkAlignment" id="alignment17">
3077- <property name="visible">True</property>
3078- <property name="left_padding">12</property>
3079- <child>
3080- <widget class="GtkScrolledWindow" id="scrolledwindow7">
3081- <property name="visible">True</property>
3082- <property name="can_focus">True</property>
3083- <property name="border_width">5</property>
3084- <property name="hscrollbar_policy">never</property>
3085- <property name="vscrollbar_policy">automatic</property>
3086- <property name="shadow_type">etched-in</property>
3087- <child>
3088- <widget class="GtkTreeView" id="location_results_treeview">
3089- <property name="visible">True</property>
3090- <property name="can_focus">True</property>
3091- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3092- </widget>
3093- </child>
3094- </widget>
3095- </child>
3096- </widget>
3097- </child>
3098- <child>
3099- <widget class="GtkLabel" id="label21">
3100- <property name="visible">True</property>
3101- <property name="label" translatable="yes">&lt;b&gt;Search result&lt;/b&gt;</property>
3102- <property name="use_markup">True</property>
3103- </widget>
3104- <packing>
3105- <property name="type">label_item</property>
3106- </packing>
3107- </child>
3108- </widget>
3109- <packing>
3110- <property name="padding">5</property>
3111- <property name="position">1</property>
3112- </packing>
3113- </child>
3114- </widget>
3115- <packing>
3116- <property name="position">1</property>
3117- </packing>
3118- </child>
3119- <child internal-child="action_area">
3120- <widget class="GtkHButtonBox" id="hbuttonbox1">
3121- <property name="visible">True</property>
3122- <property name="layout_style">end</property>
3123- <child>
3124- <widget class="GtkButton" id="location_button_cancel">
3125- <property name="label">gtk-cancel</property>
3126- <property name="visible">True</property>
3127- <property name="can_focus">True</property>
3128- <property name="receives_default">False</property>
3129- <property name="use_stock">True</property>
3130- <signal name="clicked" handler="on_location_cancel_button_clicked"/>
3131- </widget>
3132- <packing>
3133- <property name="expand">False</property>
3134- <property name="fill">False</property>
3135- <property name="position">0</property>
3136- </packing>
3137- </child>
3138- <child>
3139- <widget class="GtkButton" id="location_add_button">
3140- <property name="label">gtk-add</property>
3141- <property name="visible">True</property>
3142- <property name="can_focus">True</property>
3143- <property name="receives_default">False</property>
3144- <property name="use_stock">True</property>
3145- <signal name="clicked" handler="on_location_add_button_clicked"/>
3146- </widget>
3147- <packing>
3148- <property name="expand">False</property>
3149- <property name="fill">False</property>
3150- <property name="position">1</property>
3151- </packing>
3152- </child>
3153- </widget>
3154- <packing>
3155- <property name="expand">False</property>
3156- <property name="pack_type">end</property>
3157- <property name="position">0</property>
3158- </packing>
3159- </child>
3160- </widget>
3161- </child>
3162- </widget>
3163+ <property name="use_underline">False</property>
3164+ <property name="use_markup">False</property>
3165+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3166+ <property name="wrap">False</property>
3167+ <property name="selectable">False</property>
3168+ <property name="xalign">0.5</property>
3169+ <property name="yalign">0.5</property>
3170+ <property name="xpad">7</property>
3171+ <property name="ypad">7</property>
3172+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3173+ <property name="width_chars">-1</property>
3174+ <property name="single_line_mode">False</property>
3175+ <property name="angle">0</property>
3176+ </widget>
3177+ <packing>
3178+ <property name="padding">0</property>
3179+ <property name="expand">True</property>
3180+ <property name="fill">True</property>
3181+ </packing>
3182+ </child>
3183+
3184+ <child>
3185+ <widget class="GtkButton" id="button_video_rebuild">
3186+ <property name="border_width">5</property>
3187+ <property name="visible">True</property>
3188+ <property name="can_focus">True</property>
3189+ <property name="label" translatable="yes">Rebuild video cache</property>
3190+ <property name="use_underline">True</property>
3191+ <property name="relief">GTK_RELIEF_NORMAL</property>
3192+ <property name="focus_on_click">True</property>
3193+ <signal name="clicked" handler="on_button_video_rebuild_clicked"/>
3194+ </widget>
3195+ <packing>
3196+ <property name="padding">0</property>
3197+ <property name="expand">True</property>
3198+ <property name="fill">True</property>
3199+ </packing>
3200+ </child>
3201+
3202+ <child>
3203+ <widget class="GtkButton" id="button_music_rebuild">
3204+ <property name="border_width">5</property>
3205+ <property name="visible">True</property>
3206+ <property name="can_focus">True</property>
3207+ <property name="label" translatable="yes">Rebuild music cache</property>
3208+ <property name="use_underline">True</property>
3209+ <property name="relief">GTK_RELIEF_NORMAL</property>
3210+ <property name="focus_on_click">True</property>
3211+ <signal name="clicked" handler="on_button_music_rebuild_clicked"/>
3212+ </widget>
3213+ <packing>
3214+ <property name="padding">0</property>
3215+ <property name="expand">True</property>
3216+ <property name="fill">True</property>
3217+ </packing>
3218+ </child>
3219+
3220+ <child>
3221+ <widget class="GtkButton" id="button_image_rebuild">
3222+ <property name="border_width">5</property>
3223+ <property name="visible">True</property>
3224+ <property name="can_focus">True</property>
3225+ <property name="label" translatable="yes">Rebuild image cache</property>
3226+ <property name="use_underline">True</property>
3227+ <property name="relief">GTK_RELIEF_NORMAL</property>
3228+ <property name="focus_on_click">True</property>
3229+ <signal name="clicked" handler="on_button_image_rebuild_clicked"/>
3230+ </widget>
3231+ <packing>
3232+ <property name="padding">0</property>
3233+ <property name="expand">True</property>
3234+ <property name="fill">True</property>
3235+ </packing>
3236+ </child>
3237+
3238+ <child>
3239+ <widget class="GtkButton" id="button_feed_rebuild">
3240+ <property name="border_width">5</property>
3241+ <property name="visible">True</property>
3242+ <property name="can_focus">True</property>
3243+ <property name="label" translatable="yes">Rebuild RSS-feed cache</property>
3244+ <property name="use_underline">True</property>
3245+ <property name="relief">GTK_RELIEF_NORMAL</property>
3246+ <property name="focus_on_click">False</property>
3247+ <signal name="clicked" handler="on_button_feed_rebuild_clicked"/>
3248+ </widget>
3249+ <packing>
3250+ <property name="padding">0</property>
3251+ <property name="expand">True</property>
3252+ <property name="fill">True</property>
3253+ </packing>
3254+ </child>
3255+ </widget>
3256+ </child>
3257+ </widget>
3258+ </child>
3259+
3260+ <child>
3261+ <widget class="GtkLabel" id="label4">
3262+ <property name="visible">True</property>
3263+ <property name="label" translatable="yes">&lt;b&gt;Media cache management&lt;/b&gt;</property>
3264+ <property name="use_underline">False</property>
3265+ <property name="use_markup">True</property>
3266+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3267+ <property name="wrap">False</property>
3268+ <property name="selectable">False</property>
3269+ <property name="xalign">0.5</property>
3270+ <property name="yalign">0.5</property>
3271+ <property name="xpad">0</property>
3272+ <property name="ypad">0</property>
3273+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3274+ <property name="width_chars">-1</property>
3275+ <property name="single_line_mode">False</property>
3276+ <property name="angle">0</property>
3277+ </widget>
3278+ <packing>
3279+ <property name="type">label_item</property>
3280+ </packing>
3281+ </child>
3282+ </widget>
3283+ <packing>
3284+ <property name="tab_expand">False</property>
3285+ <property name="tab_fill">True</property>
3286+ </packing>
3287+ </child>
3288+
3289+ <child>
3290+ <widget class="GtkLabel" id="label3">
3291+ <property name="visible">True</property>
3292+ <property name="label" translatable="yes">Reset</property>
3293+ <property name="use_underline">False</property>
3294+ <property name="use_markup">False</property>
3295+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3296+ <property name="wrap">False</property>
3297+ <property name="selectable">False</property>
3298+ <property name="xalign">0.5</property>
3299+ <property name="yalign">0.5</property>
3300+ <property name="xpad">0</property>
3301+ <property name="ypad">0</property>
3302+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3303+ <property name="width_chars">-1</property>
3304+ <property name="single_line_mode">False</property>
3305+ <property name="angle">0</property>
3306+ </widget>
3307+ <packing>
3308+ <property name="type">tab</property>
3309+ </packing>
3310+ </child>
3311+ </widget>
3312+ <packing>
3313+ <property name="padding">0</property>
3314+ <property name="expand">True</property>
3315+ <property name="fill">True</property>
3316+ </packing>
3317+ </child>
3318+ </widget>
3319+ </child>
3320+</widget>
3321+
3322+<widget class="GtkDialog" id="url_dialog">
3323+ <property name="border_width">5</property>
3324+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3325+ <property name="title" translatable="yes"></property>
3326+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
3327+ <property name="window_position">GTK_WIN_POS_NONE</property>
3328+ <property name="modal">True</property>
3329+ <property name="resizable">False</property>
3330+ <property name="destroy_with_parent">True</property>
3331+ <property name="icon_name">gtk-edit</property>
3332+ <property name="decorated">True</property>
3333+ <property name="skip_taskbar_hint">True</property>
3334+ <property name="skip_pager_hint">False</property>
3335+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
3336+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
3337+ <property name="focus_on_map">True</property>
3338+ <property name="urgency_hint">False</property>
3339+ <property name="has_separator">False</property>
3340+ <signal name="delete_event" handler="on_url_dialog_delete_event"/>
3341+
3342+ <child internal-child="vbox">
3343+ <widget class="GtkVBox" id="dialog-vbox2">
3344+ <property name="visible">True</property>
3345+ <property name="homogeneous">False</property>
3346+ <property name="spacing">2</property>
3347+
3348+ <child internal-child="action_area">
3349+ <widget class="GtkHButtonBox" id="dialog-action_area2">
3350+ <property name="visible">True</property>
3351+ <property name="layout_style">GTK_BUTTONBOX_END</property>
3352+
3353+ <child>
3354+ <widget class="GtkButton" id="url_dialog_cancel_button">
3355+ <property name="visible">True</property>
3356+ <property name="can_focus">True</property>
3357+ <property name="label">gtk-cancel</property>
3358+ <property name="use_stock">True</property>
3359+ <property name="relief">GTK_RELIEF_NORMAL</property>
3360+ <property name="focus_on_click">True</property>
3361+ <property name="response_id">0</property>
3362+ <signal name="clicked" handler="on_url_dialog_cancel_button_clicked"/>
3363+ </widget>
3364+ </child>
3365+
3366+ <child>
3367+ <widget class="GtkButton" id="url_dialog_ok_button">
3368+ <property name="visible">True</property>
3369+ <property name="can_focus">True</property>
3370+ <property name="label">gtk-ok</property>
3371+ <property name="use_stock">True</property>
3372+ <property name="relief">GTK_RELIEF_NORMAL</property>
3373+ <property name="focus_on_click">True</property>
3374+ <property name="response_id">0</property>
3375+ <signal name="clicked" handler="on_url_dialog_ok_button_clicked"/>
3376+ </widget>
3377+ </child>
3378+ </widget>
3379+ <packing>
3380+ <property name="padding">0</property>
3381+ <property name="expand">False</property>
3382+ <property name="fill">True</property>
3383+ <property name="pack_type">GTK_PACK_END</property>
3384+ </packing>
3385+ </child>
3386+
3387+ <child>
3388+ <widget class="GtkHBox" id="hbox1">
3389+ <property name="visible">True</property>
3390+ <property name="homogeneous">False</property>
3391+ <property name="spacing">0</property>
3392+
3393+ <child>
3394+ <widget class="GtkLabel" id="label1">
3395+ <property name="visible">True</property>
3396+ <property name="label" translatable="yes">URL:</property>
3397+ <property name="use_underline">False</property>
3398+ <property name="use_markup">False</property>
3399+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3400+ <property name="wrap">False</property>
3401+ <property name="selectable">False</property>
3402+ <property name="xalign">0.5</property>
3403+ <property name="yalign">0.5</property>
3404+ <property name="xpad">0</property>
3405+ <property name="ypad">0</property>
3406+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3407+ <property name="width_chars">-1</property>
3408+ <property name="single_line_mode">False</property>
3409+ <property name="angle">0</property>
3410+ </widget>
3411+ <packing>
3412+ <property name="padding">5</property>
3413+ <property name="expand">False</property>
3414+ <property name="fill">True</property>
3415+ </packing>
3416+ </child>
3417+
3418+ <child>
3419+ <widget class="GtkEntry" id="url_entry">
3420+ <property name="visible">True</property>
3421+ <property name="can_default">True</property>
3422+ <property name="has_default">True</property>
3423+ <property name="can_focus">True</property>
3424+ <property name="has_focus">True</property>
3425+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3426+ <property name="editable">True</property>
3427+ <property name="visibility">True</property>
3428+ <property name="max_length">0</property>
3429+ <property name="text" translatable="yes"></property>
3430+ <property name="has_frame">True</property>
3431+ <property name="invisible_char">●</property>
3432+ <property name="activates_default">False</property>
3433+ </widget>
3434+ <packing>
3435+ <property name="padding">0</property>
3436+ <property name="expand">True</property>
3437+ <property name="fill">True</property>
3438+ </packing>
3439+ </child>
3440+ </widget>
3441+ <packing>
3442+ <property name="padding">0</property>
3443+ <property name="expand">True</property>
3444+ <property name="fill">True</property>
3445+ </packing>
3446+ </child>
3447+ </widget>
3448+ </child>
3449+</widget>
3450+
3451+<widget class="GtkDialog" id="weather_search_dialog">
3452+ <property name="border_width">5</property>
3453+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3454+ <property name="title" translatable="yes"></property>
3455+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
3456+ <property name="window_position">GTK_WIN_POS_NONE</property>
3457+ <property name="modal">False</property>
3458+ <property name="resizable">True</property>
3459+ <property name="destroy_with_parent">False</property>
3460+ <property name="decorated">True</property>
3461+ <property name="skip_taskbar_hint">False</property>
3462+ <property name="skip_pager_hint">False</property>
3463+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
3464+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
3465+ <property name="focus_on_map">True</property>
3466+ <property name="urgency_hint">False</property>
3467+ <property name="has_separator">False</property>
3468+
3469+ <child internal-child="vbox">
3470+ <widget class="GtkVBox" id="vbox20">
3471+ <property name="visible">True</property>
3472+ <property name="homogeneous">False</property>
3473+ <property name="spacing">2</property>
3474+
3475+ <child internal-child="action_area">
3476+ <widget class="GtkHButtonBox" id="hbuttonbox1">
3477+ <property name="visible">True</property>
3478+ <property name="layout_style">GTK_BUTTONBOX_END</property>
3479+
3480+ <child>
3481+ <widget class="GtkButton" id="location_button_cancel">
3482+ <property name="visible">True</property>
3483+ <property name="can_focus">True</property>
3484+ <property name="label">gtk-cancel</property>
3485+ <property name="use_stock">True</property>
3486+ <property name="relief">GTK_RELIEF_NORMAL</property>
3487+ <property name="focus_on_click">True</property>
3488+ <property name="response_id">0</property>
3489+ <signal name="clicked" handler="on_location_cancel_button_clicked"/>
3490+ </widget>
3491+ </child>
3492+
3493+ <child>
3494+ <widget class="GtkButton" id="location_add_button">
3495+ <property name="visible">True</property>
3496+ <property name="can_focus">True</property>
3497+ <property name="label">gtk-add</property>
3498+ <property name="use_stock">True</property>
3499+ <property name="relief">GTK_RELIEF_NORMAL</property>
3500+ <property name="focus_on_click">True</property>
3501+ <property name="response_id">0</property>
3502+ <signal name="clicked" handler="on_location_add_button_clicked"/>
3503+ </widget>
3504+ </child>
3505+ </widget>
3506+ <packing>
3507+ <property name="padding">0</property>
3508+ <property name="expand">False</property>
3509+ <property name="fill">True</property>
3510+ <property name="pack_type">GTK_PACK_END</property>
3511+ </packing>
3512+ </child>
3513+
3514+ <child>
3515+ <widget class="GtkVBox" id="vbox21">
3516+ <property name="visible">True</property>
3517+ <property name="homogeneous">False</property>
3518+ <property name="spacing">0</property>
3519+
3520+ <child>
3521+ <widget class="GtkFrame" id="frame6">
3522+ <property name="visible">True</property>
3523+ <property name="label_xalign">0</property>
3524+ <property name="label_yalign">0.5</property>
3525+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
3526+
3527+ <child>
3528+ <widget class="GtkAlignment" id="alignment16">
3529+ <property name="visible">True</property>
3530+ <property name="xalign">0.5</property>
3531+ <property name="yalign">0.5</property>
3532+ <property name="xscale">1</property>
3533+ <property name="yscale">1</property>
3534+ <property name="top_padding">5</property>
3535+ <property name="bottom_padding">0</property>
3536+ <property name="left_padding">12</property>
3537+ <property name="right_padding">0</property>
3538+
3539+ <child>
3540+ <widget class="GtkHBox" id="hbox18">
3541+ <property name="visible">True</property>
3542+ <property name="homogeneous">False</property>
3543+ <property name="spacing">0</property>
3544+
3545+ <child>
3546+ <widget class="GtkLabel" id="label19">
3547+ <property name="visible">True</property>
3548+ <property name="label" translatable="yes">City:</property>
3549+ <property name="use_underline">False</property>
3550+ <property name="use_markup">False</property>
3551+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3552+ <property name="wrap">False</property>
3553+ <property name="selectable">False</property>
3554+ <property name="xalign">0.5</property>
3555+ <property name="yalign">0.5</property>
3556+ <property name="xpad">0</property>
3557+ <property name="ypad">0</property>
3558+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3559+ <property name="width_chars">-1</property>
3560+ <property name="single_line_mode">False</property>
3561+ <property name="angle">0</property>
3562+ </widget>
3563+ <packing>
3564+ <property name="padding">0</property>
3565+ <property name="expand">False</property>
3566+ <property name="fill">True</property>
3567+ </packing>
3568+ </child>
3569+
3570+ <child>
3571+ <widget class="GtkEntry" id="location_entry">
3572+ <property name="visible">True</property>
3573+ <property name="can_default">True</property>
3574+ <property name="has_default">True</property>
3575+ <property name="can_focus">True</property>
3576+ <property name="has_focus">True</property>
3577+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3578+ <property name="editable">True</property>
3579+ <property name="visibility">True</property>
3580+ <property name="max_length">0</property>
3581+ <property name="text" translatable="yes"></property>
3582+ <property name="has_frame">True</property>
3583+ <property name="invisible_char">●</property>
3584+ <property name="activates_default">False</property>
3585+ <signal name="activate" handler="on_location_entry_activate"/>
3586+ </widget>
3587+ <packing>
3588+ <property name="padding">5</property>
3589+ <property name="expand">True</property>
3590+ <property name="fill">True</property>
3591+ </packing>
3592+ </child>
3593+
3594+ <child>
3595+ <widget class="GtkButton" id="location_find_button">
3596+ <property name="visible">True</property>
3597+ <property name="can_focus">True</property>
3598+ <property name="label">gtk-find</property>
3599+ <property name="use_stock">True</property>
3600+ <property name="relief">GTK_RELIEF_NORMAL</property>
3601+ <property name="focus_on_click">True</property>
3602+ <signal name="clicked" handler="on_location_find_button_clicked"/>
3603+ </widget>
3604+ <packing>
3605+ <property name="padding">5</property>
3606+ <property name="expand">True</property>
3607+ <property name="fill">True</property>
3608+ </packing>
3609+ </child>
3610+ </widget>
3611+ </child>
3612+ </widget>
3613+ </child>
3614+
3615+ <child>
3616+ <widget class="GtkLabel" id="label20">
3617+ <property name="visible">True</property>
3618+ <property name="label" translatable="yes">&lt;b&gt;Search for location&lt;/b&gt;</property>
3619+ <property name="use_underline">False</property>
3620+ <property name="use_markup">True</property>
3621+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3622+ <property name="wrap">False</property>
3623+ <property name="selectable">False</property>
3624+ <property name="xalign">0.5</property>
3625+ <property name="yalign">0.5</property>
3626+ <property name="xpad">0</property>
3627+ <property name="ypad">0</property>
3628+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3629+ <property name="width_chars">-1</property>
3630+ <property name="single_line_mode">False</property>
3631+ <property name="angle">0</property>
3632+ </widget>
3633+ <packing>
3634+ <property name="type">label_item</property>
3635+ </packing>
3636+ </child>
3637+ </widget>
3638+ <packing>
3639+ <property name="padding">5</property>
3640+ <property name="expand">False</property>
3641+ <property name="fill">True</property>
3642+ </packing>
3643+ </child>
3644+
3645+ <child>
3646+ <widget class="GtkFrame" id="frame7">
3647+ <property name="visible">True</property>
3648+ <property name="label_xalign">0</property>
3649+ <property name="label_yalign">0.5</property>
3650+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
3651+
3652+ <child>
3653+ <widget class="GtkAlignment" id="alignment17">
3654+ <property name="visible">True</property>
3655+ <property name="xalign">0.5</property>
3656+ <property name="yalign">0.5</property>
3657+ <property name="xscale">1</property>
3658+ <property name="yscale">1</property>
3659+ <property name="top_padding">0</property>
3660+ <property name="bottom_padding">0</property>
3661+ <property name="left_padding">12</property>
3662+ <property name="right_padding">0</property>
3663+
3664+ <child>
3665+ <widget class="GtkScrolledWindow" id="scrolledwindow7">
3666+ <property name="border_width">5</property>
3667+ <property name="visible">True</property>
3668+ <property name="can_focus">True</property>
3669+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
3670+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
3671+ <property name="shadow_type">GTK_SHADOW_NONE</property>
3672+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
3673+
3674+ <child>
3675+ <widget class="GtkTreeView" id="location_results_treeview">
3676+ <property name="visible">True</property>
3677+ <property name="can_focus">True</property>
3678+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
3679+ <property name="headers_visible">True</property>
3680+ <property name="rules_hint">False</property>
3681+ <property name="reorderable">False</property>
3682+ <property name="enable_search">True</property>
3683+ <property name="fixed_height_mode">False</property>
3684+ <property name="hover_selection">False</property>
3685+ <property name="hover_expand">False</property>
3686+ </widget>
3687+ </child>
3688+ </widget>
3689+ </child>
3690+ </widget>
3691+ </child>
3692+
3693+ <child>
3694+ <widget class="GtkLabel" id="label21">
3695+ <property name="visible">True</property>
3696+ <property name="label" translatable="yes">&lt;b&gt;Search result&lt;/b&gt;</property>
3697+ <property name="use_underline">False</property>
3698+ <property name="use_markup">True</property>
3699+ <property name="justify">GTK_JUSTIFY_LEFT</property>
3700+ <property name="wrap">False</property>
3701+ <property name="selectable">False</property>
3702+ <property name="xalign">0.5</property>
3703+ <property name="yalign">0.5</property>
3704+ <property name="xpad">0</property>
3705+ <property name="ypad">0</property>
3706+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
3707+ <property name="width_chars">-1</property>
3708+ <property name="single_line_mode">False</property>
3709+ <property name="angle">0</property>
3710+ </widget>
3711+ <packing>
3712+ <property name="type">label_item</property>
3713+ </packing>
3714+ </child>
3715+ </widget>
3716+ <packing>
3717+ <property name="padding">5</property>
3718+ <property name="expand">True</property>
3719+ <property name="fill">True</property>
3720+ </packing>
3721+ </child>
3722+ </widget>
3723+ <packing>
3724+ <property name="padding">0</property>
3725+ <property name="expand">True</property>
3726+ <property name="fill">True</property>
3727+ </packing>
3728+ </child>
3729+ </widget>
3730+ </child>
3731+</widget>
3732+
3733 </glade-interface>
3734
3735=== modified file 'entertainerlib/tests/test_configuration.py'
3736--- entertainerlib/tests/test_configuration.py 2009-06-30 01:06:01 +0000
3737+++ entertainerlib/tests/test_configuration.py 2009-07-14 01:04:31 +0000
3738@@ -108,11 +108,6 @@
3739 '''Test getting the slideshow step'''
3740 self.assertEqual(self.configuration.get_slideshow_step(), 5)
3741
3742- def test_hidden_files_folders(self):
3743- """Test getting the `display_hidden_files_folders` setting."""
3744- self.assertEqual(self.configuration.display_hidden_files_folders(),
3745- False)
3746-
3747 def test_taint(self):
3748 '''Test tainting configuration data'''
3749 # Test tainting preferences data

Subscribers

People subscribed via source and target branches