@@ -70,6 +70,7 @@ def makeusermenus(self):
7070 m = Wapplication .Menu (self .menubar , "File" )
7171 newitem = FrameWork .MenuItem (m , "New" , "N" , 'new' )
7272 openitem = FrameWork .MenuItem (m , "Open" + ELIPSES , "O" , 'open' )
73+ openbynameitem = FrameWork .MenuItem (m , "Open File by Name" + ELIPSES , "D" , 'openbyname' )
7374 FrameWork .Separator (m )
7475 closeitem = FrameWork .MenuItem (m , "Close" , "W" , 'close' )
7576 saveitem = FrameWork .MenuItem (m , "Save" , "S" , 'save' )
@@ -210,6 +211,22 @@ def domenu_open(self, *args):
210211 if filename :
211212 self .openscript (filename )
212213
214+ def domenu_openbyname (self , * args ):
215+ # Open a file by name. If the clipboard contains a filename
216+ # use that as the default.
217+ from Carbon import Scrap
218+ try :
219+ sc = Scrap .GetCurrentScrap ()
220+ dft = sc .GetScrapFlavorData ("TEXT" )
221+ except Scrap .Error :
222+ dft = ""
223+ else :
224+ if not os .path .exists (dft ):
225+ dft = ""
226+ filename = EasyDialogs .AskString ("Open File Named:" , default = dft , ok = "Open" )
227+ if filename :
228+ self .openscript (filename )
229+
213230 def domenu_new (self , * args ):
214231 W .SetCursor ('watch' )
215232 import PyEdit
0 commit comments