[Python-checkins] python/dist/src/Mac/Tools/IDE PyEdit.py,1.38,1.39 PythonIDEMain.py,1.28,1.29
jackjansen@users.sourceforge.net
jackjansen@users.sourceforge.net
Tue, 25 Feb 2003 07:08:09 -0800
Update of /cvsroot/python/python/dist/src/Mac/Tools/IDE
In directory sc8-pr-cvs1:/tmp/cvs-serv15512
Modified Files:
PyEdit.py PythonIDEMain.py
Log Message:
Added an "Open Recent" command. Fixes 607810.
Index: PyEdit.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/PyEdit.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** PyEdit.py 21 Feb 2003 22:33:52 -0000 1.38
--- PyEdit.py 25 Feb 2003 15:08:01 -0000 1.39
***************
*** 64,67 ****
--- 64,68 ----
f.close()
self._creator, filetype = MacOS.GetCreatorAndType(path)
+ self.addrecentfile(path)
else:
raise IOError, "file '%s' does not exist" % path
***************
*** 400,403 ****
--- 401,405 ----
import macostools
macostools.touched(self.path)
+ self.addrecentfile(self.path)
def can_save(self, menuitem):
***************
*** 781,784 ****
--- 783,790 ----
def selectline(self, lineno, charoffset = 0):
self.editgroup.editor.selectline(lineno - 1, charoffset)
+
+ def addrecentfile(self, filename):
+ app = W.getapplication()
+ app.addrecentfile(filename)
class _saveoptions:
Index: PythonIDEMain.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Tools/IDE/PythonIDEMain.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** PythonIDEMain.py 12 Feb 2003 12:47:56 -0000 1.28
--- PythonIDEMain.py 25 Feb 2003 15:08:02 -0000 1.29
***************
*** 77,80 ****
--- 77,82 ----
openitem = FrameWork.MenuItem(m, "Open"+ELIPSES, "O", 'open')
openbynameitem = FrameWork.MenuItem(m, "Open File by Name"+ELIPSES, "D", 'openbyname')
+ self.openrecentmenu = FrameWork.SubMenu(m, "Open Recent")
+ self.makeopenrecentmenu()
FrameWork.Separator(m)
closeitem = FrameWork.MenuItem(m, "Close", "W", 'close')
***************
*** 279,286 ****
--- 281,326 ----
self.checkopenwindowsmenu()
+ def makeopenrecentmenu(self):
+ for i in range(len(self.openrecentmenu.items)):
+ self.openrecentmenu.menu.DeleteMenuItem(1)
+ self.openrecentmenu.items = []
+ prefs = self.getprefs()
+ filelist = prefs.recentfiles
+ if not filelist:
+ self.openrecentmenu.enable(0)
+ return
+ self.openrecentmenu.enable(1)
+ for filename in filelist:
+ item = FrameWork.MenuItem(self.openrecentmenu, filename, None, callback = self.domenu_openrecent)
+
+ def addrecentfile(self, file):
+ prefs = self.getprefs()
+ filelist = prefs.recentfiles
+ if not filelist:
+ filelist = []
+
+ if file in filelist:
+ if file == filelist[0]:
+ return
+ filelist.remove(file)
+ filelist.insert(0, file)
+ filelist = filelist[:10]
+ prefs.recentfiles = filelist
+ prefs.save()
+ self.makeopenrecentmenu()
+
def domenu_openwindows(self, id, item, window, event):
w = self._openwindows[item]
w.ShowWindow()
w.SelectWindow()
+
+ def domenu_openrecent(self, id, item, window, event):
+ prefs = self.getprefs()
+ filelist = prefs.recentfiles
+ if not filelist:
+ filelist = []
+ item = item - 1
+ filename = filelist[item]
+ self.openscript(filename)
def domenu_quit(self):