[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):