1  #!/usr/bin/python
 2
 3  import gtk
 4  import gtk.glade
 5  import gconf
 6
 7  class GConfExample:
 8          # signals
 9          def do_exit (self, window):
10                  gtk.main_quit ()
11          def new_background (self, client, cnxn_id, entry, user_data):
12                  image = client.get_string (
13                          "/desktop/gnome/background/picture_filename")
14                  pixbuf = gtk.gdk.pixbuf_new_from_file_at_size (image, 300, 300)
15                  self.entry.set_text (image)
16                  self.image.set_from_pixbuf (pixbuf)
17
18          # initilisation
19          def __init__ (self):
20                  xml = gtk.glade.XML ('gconf-example.glade', None, None)
21                  client = gconf.client_get_default ()
22
23                  self.image = xml.get_widget ('preview_image')
24                  self.entry = xml.get_widget ('image_name')
25
26                  xml.signal_autoconnect (self)
27                  client.add_dir ("/desktop/gnome/background",
28                                  gconf.CLIENT_PRELOAD_NONE)
29                  client.notify_add ("/desktop/gnome/background/picture_filename",
30                                  self.new_background)
31
32                  self.new_background (client, None, None, None)
33                  xml.get_widget ('window').show_all ()
34
35  if __name__ == '__main__':
36          GConfExample ()
37          gtk.main ()