Merge lp:~feng-kylin/testmenu/fix2bug into lp:~penghuanmail/testmenu/testmenu

Proposed by handsome_feng
Status: Merged
Merged at revision: 14
Proposed branch: lp:~feng-kylin/testmenu/fix2bug
Merge into: lp:~penghuanmail/testmenu/testmenu
Diff against target: 250 lines (+62/-133)
1 file modified
usr/lib/ubuntu-mate/mate-menu/plugins/kylinmenu.py (+62/-133)
To merge this branch: bzr merge lp:~feng-kylin/testmenu/fix2bug
Reviewer Review Type Date Requested Status
Huan Peng Pending
Review via email: mp+245418@code.launchpad.net

Description of the change

fix two bug in updatebox() and recentAppbox

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'usr/lib/ubuntu-mate/mate-menu/plugins/kylinmenu.py'
2--- usr/lib/ubuntu-mate/mate-menu/plugins/kylinmenu.py 2014-12-26 05:45:19 +0000
3+++ usr/lib/ubuntu-mate/mate-menu/plugins/kylinmenu.py 2014-12-29 03:12:40 +0000
4@@ -133,7 +133,8 @@
5 self.all_application_list = all_application_list
6
7 for app in self.all_application_list:
8- if app['category'] == 'Games' or app['category'] == _('Games'):
9+ # TODO: use translation
10+ if app['category'] == 'Games' or app['category'] == '游戏':
11 self.application_list_m.append(app)
12
13 self.application_list_m += self.autostart_list()
14@@ -356,6 +357,7 @@
15 self.screen = Wnck.Screen.get_default()
16 self.screen.connect('application-opened', self.on_app_opened, None)
17 self.recentApp = {}
18+ self.updateHistoryBox()
19 #feng
20
21 #label font
22@@ -733,146 +735,74 @@
23 self.all_application_list = self.build_application_list()
24 cat = Category(self.all_application_list)
25
26- new_category_list = cat.category_list()
27- added_category_list = []
28- removed_category_list = []
29+ self.categoryList = cat.category_list()
30 self.categorybutton_list = []
31
32- if not self.categoryList:
33- added_category_list = new_category_list
34- else:
35- for item in new_category_list:
36- found = False
37- for item2 in self.categoryList:
38- if item2['name'] == item['name'] and \
39- item2['icon'] == item['icon'] and \
40- item2['tooltip'] == item['tooltip'] :
41- found = True
42- break
43- if not found:
44- added_category_list.append(item)
45-
46- for item in self.categoryList:
47- found = False
48- for item2 in new_category_list:
49- if item2['name'] == item['name'] and \
50- item2['icon'] == item['icon'] and \
51- item2['tooltip'] == item['tooltip'] :
52- found = True
53- break
54- if not found:
55- removed_category_list.append(item)
56-
57 if self.showcategoryicons:
58 category_icon_size = self.iconSize
59 else:
60 category_icon_size = 0
61
62- for item in removed_category_list:
63- try:
64- button = item['button']
65- self.categoryList.remove(item)
66- button.destroy()
67- del item
68- except Exception, e:
69- print e
70-
71- if added_category_list:
72- sorted_category_list = []
73- for item in self.categoryList:
74- try:
75- self.categoriesBox.remove(item['button'])
76- sorted_category_list.append( ( item['name'].upper(), item['button'] ) )
77- except Exception, e:
78- print e
79-
80- for item in added_category_list:
81- try:
82- item["button"] = CategoryButton( item["icon"], category_icon_size, [ item["name"] ], item["filter"] )
83- item["button"].rightbox.show_all()
84- self.categorybutton_list.append(item["button"])
85- self.mateMenuWin.setTooltip( item["button"], item["tooltip"] )
86-
87-# if self.categories_mouse_over:
88-# startId = item["button"].connect( "enter", self.StartFilter, item["filter"] )
89-# stopId = item["button"].connect( "leave", self.StopFilter )
90-# item["button"].mouseOverHandlerIds = ( startId, stopId )
91-# else:
92-# item["button"].mouseOverHandlerIds = None
93-#
94- item["button"].connect( "clicked", self.FilterAndClear, item["filter"] )
95-# item["button"].connect( "focus-in-event", self.categoryBtnFocus, item["filter"] )
96- item["button"].connect( "focus-in-event", self.scrollItemIntoView ) #feng
97- item["button"].show()
98-
99- self.categoryList.append( item )
100- sorted_category_list.append( ( item["name"].upper(), item["button"] ) )
101- except Exception, e:
102- print e
103-
104- sorted_category_list.sort()
105-
106- for item in sorted_category_list:
107- try:
108- self.categoriesBox.pack_start( item[1], False, False, 0 )
109- except Exception, e:
110- print e
111-
112- new_application_list = cat.application_list()
113- added_application_list = []
114- removed_application_list = []
115-
116- if not self.applicationList:
117- added_application_list = new_application_list
118- else:
119- for item in new_application_list:
120- found = False
121- for item2 in self.applicationList:
122- if item['desktop_file_path'] == item2['desktop_file_path']:
123- found = True
124- break
125- if not found:
126- added_application_list.append(item)
127-
128- key = 0
129- for item in self.applicationList:
130- found = False
131- for item2 in new_application_list:
132- if item['desktop_file_path'] == item2['desktop_file_path']:
133- found = True
134- break
135- if not found:
136- removed_application_list.append(key)
137- else:
138- key += 1
139-
140- for key in removed_application_list:
141- self.applicationList[key]['button'].destroy()
142- del self.applicationList[key]
143-
144- if added_application_list:
145- sorted_application_list = []
146- for item in self.applicationList:
147- self.applicationsBox.remove( item["button"] )
148- sorted_application_list.append( ( item["button"].appName.upper(), item["button"] ) )
149- for item in added_application_list:
150- button = self.build_application_launcher(item, menu_has_changed)
151+ for button in self.categoriesBox:
152+ try:
153+ self.categoriesBox.remove(button)
154+ except Exception, e:
155+ print e.message
156+
157+ for button in self.applicationsBox:
158+ try:
159+ self.applicationsBox.remove(button)
160+ except Exception, e:
161+ print e.message
162+
163+ sorted_category_list = []
164+ for item in self.categoryList:
165+ try:
166+ item["button"] = CategoryButton( item["icon"], category_icon_size, [ item["name"] ], item["filter"] )
167+ item["button"].rightbox.show_all()
168+ self.categorybutton_list.append(item["button"])
169+ self.mateMenuWin.setTooltip( item["button"], item["tooltip"] )
170+
171+ item["button"].connect( "clicked", self.FilterAndClear, item["filter"] )
172+# item["button"].connect( "focus-in-event", self.categoryBtnFocus, item["filter"] )
173+ item["button"].connect( "focus-in-event", self.scrollItemIntoView ) #feng
174+ item["button"].show()
175+
176+ sorted_category_list.append( ( item["name"].upper(), item["button"] ) )
177+ except Exception, e:
178+ print e.message
179+
180+ sorted_category_list.sort()
181+
182+ for item in sorted_category_list:
183+ try:
184+ self.categoriesBox.pack_start( item[1], False, False, 0 )
185+ except Exception, e:
186+ print e.message
187+
188+ self.applicationList = cat.application_list()
189+
190+
191+ sorted_application_list = []
192+ for item in self.applicationList:
193+ try:
194+ button = self.build_application_launcher(item, False)
195 if button:
196 item["button"] = button
197 item["button"].connect( "focus-in-event", self.scrollItemIntoView ) #feng
198 sorted_application_list.append( ( item["button"].appName.upper(), item["button"] ) )
199- self.applicationList.append( item )
200+ except Exception, e:
201+ print e.message
202
203- sorted_application_list.sort()
204- launcherNames = [] # Keep track of launcher names so we don't add them twice in the list.
205- for item in sorted_application_list:
206- launcherName = item[0]
207- button = item[1]
208- self.applicationsBox.pack_start( button, False, False, 0 )
209- if launcherName in launcherNames:
210- button.hide()
211- else:
212- launcherNames.append(launcherName)
213+ sorted_application_list.sort()
214+ launcherNames = []
215+ for item in sorted_application_list:
216+ button = item[1]
217+ self.applicationsBox.pack_start( button, False, False, 0 )
218+ if item[0] in launcherNames:
219+ button.hide()
220+ else:
221+ launcherNames.append(item[0])
222
223 self.uncategorized_list = []
224 for item in self.all_application_list:
225@@ -906,7 +836,7 @@
226
227 sorted_uncategorized_list = []
228 for item in self.uncategorized_list:
229- button = self.build_application_launcher(item, menu_has_changed)
230+ button = self.build_application_launcher(item, False)
231 if button:
232 item['button'] = button
233 sorted_uncategorized_list.append( ( item['button'].appName.upper(), item['button'] ) )
234@@ -914,15 +844,14 @@
235
236 launcherNames = [] # Keep track of launcher names so we don't add them twice in the list.
237 for item in sorted_uncategorized_list:
238- launcherName = item[0]
239 button = item[1]
240 button.connect( "focus-in-event", self.scrollItemIntoView ) #feng
241 self.categoriesBox.pack_start( button, False, False, 0 )
242 button.show()
243- if launcherName in launcherNames:
244+ if item[0] in launcherNames:
245 button.hide()
246 else:
247- launcherNames.append(launcherName)
248+ launcherNames.append(item[0])
249
250 self.rebuildLock = False
251

Subscribers

People subscribed via source and target branches

to all changes: