diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2003-02-25 15:08:02 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2003-02-25 15:08:02 (GMT) |
commit | c00b6d7a0a72a481de3064e0bd11e7b30f5b2610 (patch) | |
tree | ccd778cd1144df1cc98831bf7783e521e0f56e4d /Mac/Tools/IDE/PythonIDEMain.py | |
parent | f4a9ac25e9cf27914ad4235d0745980d56212c1d (diff) | |
download | cpython-c00b6d7a0a72a481de3064e0bd11e7b30f5b2610.zip cpython-c00b6d7a0a72a481de3064e0bd11e7b30f5b2610.tar.gz cpython-c00b6d7a0a72a481de3064e0bd11e7b30f5b2610.tar.bz2 |
Added an "Open Recent" command. Fixes 607810.
Diffstat (limited to 'Mac/Tools/IDE/PythonIDEMain.py')
-rw-r--r-- | Mac/Tools/IDE/PythonIDEMain.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Mac/Tools/IDE/PythonIDEMain.py b/Mac/Tools/IDE/PythonIDEMain.py index c79d9fc..9efaa22 100644 --- a/Mac/Tools/IDE/PythonIDEMain.py +++ b/Mac/Tools/IDE/PythonIDEMain.py @@ -76,6 +76,8 @@ class PythonIDE(Wapplication.Application): newitem = FrameWork.MenuItem(m, "New", "N", 'new') 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') saveitem = FrameWork.MenuItem(m, "Save", "S", 'save') @@ -278,11 +280,49 @@ class PythonIDE(Wapplication.Application): self._openwindowscheckmark = 0 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): self._quit() |