Docview and IDE patch from Morag Hua with fix for bug #1217890
"Closing view crashes Python" plus some new features: New feature added to the IDE is 'Extensions'. Under Tools|Options|Extensions, you can add calls to external programs. For example you can add a "Notepad" extension (under windows) that will exec Notepad on the currently open file. A new "Notepad" menu item will appear under the Tools menu. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import shutil
|
||||
import wx
|
||||
import sys
|
||||
_ = wx.GetTranslation
|
||||
@@ -436,6 +437,7 @@ class Document(wx.EvtHandler):
|
||||
|
||||
backupFilename = None
|
||||
fileObject = None
|
||||
copied = False
|
||||
try:
|
||||
# if current file exists, move it to a safe place temporarily
|
||||
if os.path.exists(filename):
|
||||
@@ -453,7 +455,8 @@ class Document(wx.EvtHandler):
|
||||
while os.path.exists(backupFilename):
|
||||
i += 1
|
||||
backupFilename = "%s.bak%s" % (filename, i)
|
||||
os.rename(filename, backupFilename)
|
||||
shutil.copy(filename, backupFilename)
|
||||
copied = True
|
||||
|
||||
fileObject = file(filename, 'w')
|
||||
self.SaveObject(fileObject)
|
||||
@@ -470,11 +473,9 @@ class Document(wx.EvtHandler):
|
||||
if fileObject:
|
||||
fileObject.close() # file is still open, close it, need to do this before removal
|
||||
|
||||
# save failed, restore old file
|
||||
if backupFilename:
|
||||
os.remove(filename)
|
||||
os.rename(backupFilename, filename)
|
||||
self.SetDocumentModificationDate()
|
||||
# save failed, remove copied file
|
||||
if backupFilename and copied:
|
||||
os.remove(backupFilename)
|
||||
|
||||
wx.MessageBox("Could not save '%s'. %s" % (FileNameFromPath(filename), sys.exc_value),
|
||||
msgTitle,
|
||||
@@ -1247,10 +1248,6 @@ class DocTemplate(wx.Object):
|
||||
Returns True if the path's extension matches one of this template's
|
||||
file filter extensions.
|
||||
"""
|
||||
## print "*** path", path
|
||||
## if "*.*" in self.GetFileFilter():
|
||||
## return True
|
||||
##
|
||||
ext = FindExtension(path)
|
||||
if not ext: return False
|
||||
return ext in self.GetFileFilter()
|
||||
@@ -2793,8 +2790,10 @@ class DocMDIChildFrame(wx.MDIChildFrame):
|
||||
self._childView.Activate(False)
|
||||
self._childView.Destroy()
|
||||
self._childView = None
|
||||
if self._childDocument:
|
||||
self._childDocument.Destroy() # This isn't in the wxWindows codebase but the document needs to be disposed of somehow
|
||||
if self._childDocument: # This isn't in the wxWindows codebase but the document needs to be disposed of somehow
|
||||
self._childDocument.DeleteContents()
|
||||
if self._childDocument.GetDocumentManager():
|
||||
self._childDocument.GetDocumentManager().RemoveDocument(self._childDocument)
|
||||
self._childDocument = None
|
||||
self.Destroy()
|
||||
else:
|
||||
|
Reference in New Issue
Block a user