[Xword-commits] r73 - branches/recentlist/usr/bin
btb at garage.maemo.org
btb at garage.maemo.org
Sat May 10 03:08:40 EEST 2008
Author: btb
Date: 2008-05-10 03:08:39 +0300 (Sat, 10 May 2008)
New Revision: 73
Modified:
branches/recentlist/usr/bin/xword
Log:
move menu functionality out of RecentList class
Modified: branches/recentlist/usr/bin/xword
===================================================================
--- branches/recentlist/usr/bin/xword 2008-05-09 21:41:38 UTC (rev 72)
+++ branches/recentlist/usr/bin/xword 2008-05-10 00:08:39 UTC (rev 73)
@@ -1241,45 +1241,27 @@
class RecentList:
- def __init__(self, parent):
+ def __init__(self):
self.max_entries = 5
- self.parent = parent
self.recent_list = []
- self.update_menu()
def add(self,newentry):
self.delete(newentry)
self.recent_list.insert(0,newentry)
if len(self.recent_list) > self.max_entries:
del self.recent_list[-1]
- self.update_menu()
def delete(self,newentry):
if newentry in self.recent_list:
try:
self.recent_list.remove(newentry)
- self.update_menu()
except ValueError:
pass
def set(self, newlist=[]):
self.recent_list = newlist
- self.update_menu()
- def update_menu(self):
- for child in self.parent.recent_menu.get_children():
- self.parent.recent_menu.remove(child)
- if len(self.recent_list) == 0:
- emptymenu = gtk.MenuItem('Empty')
- self.parent.recent_menu.append(emptymenu)
- else:
- for item in self.recent_list:
- m = gtk.MenuItem(item.split(os.sep)[-1])
- m.connect('activate', self.parent.menu_selected, 'recent', item)
- self.parent.recent_menu.append(m)
- self.parent.recent_menu.show_all()
-
class PuzzleWindow:
def __init__(self, puzzle):
self.clock_time = 0.0
@@ -1292,7 +1274,7 @@
else: self.control = DummyController()
self.recent_menu = gtk.Menu()
- self.recent = RecentList(self)
+ self.recent = RecentList()
self.skip_filled = False
self.layout = 0
@@ -1329,6 +1311,7 @@
menubox = gtk.VBox()
self.menubar = self.create_menubar()
menubox.pack_start(self.menubar, False, False, 0)
+ self.update_recent_menu()
win.add(menubox)
@@ -1381,7 +1364,6 @@
def enable(w): w.set_property('sensitive', enabled)
enable(self.menu_items['save'])
- enable(self.menu_items['recent'])
enable(self.menu_items['properties'])
if has_print:
enable(self.menu_items['print'])
@@ -1412,6 +1394,7 @@
return
self.last_file = fname
self.recent.add(fname)
+ self.update_recent_menu()
self.control = PuzzleController(self.puzzle)
self.setup_controller()
self.clue_widget.set_controller(self.control)
@@ -1734,6 +1717,19 @@
if not self.maximized:
self.window_size = self.win.get_size()
+ def update_recent_menu(self):
+ for child in self.recent_menu.get_children():
+ self.recent_menu.remove(child)
+ if len(self.recent.recent_list) == 0:
+ self.menu_items['recent'].set_property('sensitive', False)
+ else:
+ self.menu_items['recent'].set_property('sensitive', True)
+ for item in self.recent.recent_list:
+ m = gtk.MenuItem(item.split(os.sep)[-1])
+ m.connect('activate', self.menu_selected, 'recent', item)
+ self.recent_menu.append(m)
+ self.recent_menu.show_all()
+
def create_menubar(self):
accel = gtk.AccelGroup()
@@ -2205,6 +2201,7 @@
else:
self.notify('File not found.')
self.recent.delete(filename)
+ self.update_recent_menu()
def print_puzzle(self):
if has_print:
More information about the Xword-commits
mailing list