~ubuntu-branches/ubuntu/oneiric/avant-window-navigator/oneiric

« back to all changes in this revision

Viewing changes to debian/patches/91-delete-themes.patch

  • Committer: Bazaar Package Importer
  • Author(s): Julien Lavergne
  • Date: 2008-09-07 16:33:59 UTC
  • Revision ID: james.westby@ubuntu.com-20080907163359-m2t8qiglenmmr5cx
Tags: 0.2.6-7ubuntu1
* debian/patches
 - 91-delete-themes.patch : From upstream, allow to delete themes 
   other than the current one (LP: #134397).
 - 92-custom-icon-slash-title.patch : From upstream, handle slash in 
   custom icons title (LP: #228036). 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=== modified file 'awn-manager/awnTheme.py'
 
2
--- awn-manager/awnTheme.py     2008-08-27 22:33:48 +0000
 
3
+++ awn-manager/awnTheme.py     2008-09-07 14:12:30 +0000
 
4
@@ -89,7 +89,7 @@
 
5
             'title': [Pref('background', str), Pref('font_face', str),
 
6
                       Pref('shadow_color', str), Pref('text_color', str)]
 
7
             }
 
8
-        self.theme_list = {}
 
9
+        self.theme_list = []
 
10
         self.currItr = None
 
11
         self.model = None
 
12
         self.window = self.wTree.get_widget("main_window")
 
13
@@ -125,14 +125,11 @@
 
14
                     setRadio = curr_name == cfg['details']['name'] and curr_version == cfg['details']['version']
 
15
 
 
16
                     row = model.append (None, (setRadio, self.pixbuf, "Theme: %s\nVersion: %s\nAuthor: %s\nDate: %s" % (cfg['details']['name'], cfg['details']['version'], cfg['details']['author'], cfg['details']['date'])))
 
17
-                    
 
18
-                    path = model.get_path(row)[0]
 
19
-                    self.theme_list[path] = {
 
20
-                        'row': row,
 
21
+                    self.theme_list.append({
 
22
                         'name': cfg['details']['name'],
 
23
                         'version': cfg['details']['version'],
 
24
                         'dir': d
 
25
-                        }
 
26
+                        })
 
27
                     if setRadio:
 
28
                         self.currItr = row
 
29
                     else:
 
30
@@ -141,6 +138,9 @@
 
31
 
 
32
     def apply_theme(self, widget, data=None):
 
33
         if self.currItr is not None:
 
34
+            
 
35
+            self.model.foreach(self.update_radio)
 
36
+            
 
37
             index = self.model.get_path(self.currItr)[0]
 
38
             name = self.theme_list[index]['name']
 
39
             version = self.theme_list[index]['version']
 
40
@@ -309,6 +309,7 @@
 
41
     def delete(self, widget, data=None):
 
42
         if self.currItr is not None:
 
43
             index = self.model.get_path(self.currItr)[0]
 
44
+            
 
45
             name = self.theme_list[index]['name']
 
46
             version = self.theme_list[index]['version']
 
47
             directory = self.theme_list[index]['dir']
 
48
@@ -331,7 +332,7 @@
 
49
                         curr.write("")
 
50
                         curr.close()
 
51
 
 
52
-            del self.theme_list[index]
 
53
+            self.theme_list.pop(index)
 
54
             self.model.remove(self.currItr)
 
55
 
 
56
     def add_row(self, directory):
 
57
@@ -346,14 +347,12 @@
 
58
             else:
 
59
                 self.pixbuf = None
 
60
 
 
61
-            row = self.model.append (None, (False, self.pixbuf, "Theme: %s\nVersion: %s\nAuthor: %s\nDate: " % (cfg['details']['name'], cfg['details']['version'], cfg['details']['author'], cfg['details']['date'])))
 
62
-            path = self.model.get_path(row)[0]
 
63
-            self.theme_list[path] = {
 
64
-                'row': row,
 
65
+            self.model.append (None, (False, self.pixbuf, "Theme: %s\nVersion: %s\nAuthor: %s\nDate: %s" % (cfg['details']['name'], cfg['details']['version'], cfg['details']['author'], cfg['details']['date'])))
 
66
+            self.theme_list.append({
 
67
                 'name': cfg['details']['name'],
 
68
                 'version': cfg['details']['version'],
 
69
                 'dir':directory
 
70
-                }
 
71
+                })
 
72
 
 
73
     def write(self, path):
 
74
         cfg = ConfigParser()
 
75
@@ -414,13 +413,13 @@
 
76
         pb = pb.get_from_drawable(w,w.get_colormap(),x,y,0,0,150,75)
 
77
         return pb
 
78
 
 
79
-    def on_toggle(self, widget, event, data=None):
 
80
-        widget.foreach(self.update_radio, event)
 
81
+    def on_select(self, selection):
 
82
+        model, selection_iter = selection.get_selected()
 
83
+        self.currItr = selection_iter
 
84
 
 
85
-    def update_radio(self, model, path, iterator, data):
 
86
-        if path[0] == int(data):
 
87
+    def update_radio(self, model, path, iterator, data=None):
 
88
+        if path == self.model.get_path(self.currItr):
 
89
             model.set_value(iterator, 0, 1)
 
90
-            self.currItr = iterator
 
91
         else:
 
92
             model.set_value(iterator, 0, 0)
 
93
 
 
94
@@ -449,7 +448,8 @@
 
95
         self.renderer = gtk.CellRendererToggle ()
 
96
         self.renderer.set_radio (True)
 
97
         self.renderer.set_property( 'activatable', True )
 
98
-        self.renderer.connect_object( 'toggled', self.on_toggle, self.theme_model )
 
99
+        selection = self.theme_treeview.get_selection()
 
100
+        selection.connect('changed', self.on_select)
 
101
 
 
102
         self.theme_treeview.insert_column_with_attributes (-1, 'Select', self.renderer, active=COL_SELECT)
 
103
         self.theme_treeview.insert_column_with_attributes (-1, 'Preview', gtk.CellRendererPixbuf (), pixbuf=COL_PREVIEW)
 
104