[Idle-dev] CVS: idle EditorWindow.py,1.47,1.48 FileList.py,1.4,1.5 IOBinding.py,1.16,1.17

Kurt B. Kaiser kbk@users.sourceforge.net
Wed, 04 Jun 2003 19:34:07 -0700


Update of /cvsroot/idlefork/idle
In directory sc8-pr-cvs1:/tmp/cvs-serv32206

Modified Files:
	EditorWindow.py FileList.py IOBinding.py 
Log Message:
SF 748973  Guido van Rossum patch

New Window should save in the directory of the Editor Window
from which it was selected.

M EditorWindow.py
M FileList.py
M IOBinding.py


Index: EditorWindow.py
===================================================================
RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -r1.47 -r1.48
*** EditorWindow.py	17 Jan 2003 04:04:06 -0000	1.47
--- EditorWindow.py	5 Jun 2003 02:34:04 -0000	1.48
***************
*** 140,144 ****
              if key:
                  flist.dict[key] = self
!             text.bind("<<open-new-window>>", self.flist.new_callback)
              text.bind("<<close-all-windows>>", self.flist.close_all_callback)
              text.bind("<<open-class-browser>>", self.open_class_browser)
--- 140,144 ----
              if key:
                  flist.dict[key] = self
!             text.bind("<<open-new-window>>", self.new_callback)
              text.bind("<<close-all-windows>>", self.flist.close_all_callback)
              text.bind("<<open-class-browser>>", self.open_class_browser)
***************
*** 183,187 ****
  
          if filename:
!             if os.path.exists(filename):
                  io.loadfile(filename)
              else:
--- 183,187 ----
  
          if filename:
!             if os.path.exists(filename) and not os.path.isdir(filename):
                  io.loadfile(filename)
              else:
***************
*** 210,213 ****
--- 210,218 ----
              self.extensions['AutoIndent'].set_indentation_params(
                  self.ispythonsource(filename))
+ 
+     def new_callback(self, event):
+         dirname, basename = self.io.defaultfilename()
+         self.flist.new(dirname)
+         return "break"
  
      def set_status_bar(self):

Index: FileList.py
===================================================================
RCS file: /cvsroot/idlefork/idle/FileList.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** FileList.py	14 Jul 2001 04:45:32 -0000	1.4
--- FileList.py	5 Jun 2003 02:34:04 -0000	1.5
***************
*** 59,64 ****
              edit.gotoline(lineno)
  
!     def new(self):
!         return self.EditorWindow(self)
  
      def new_callback(self, event):
--- 59,64 ----
              edit.gotoline(lineno)
  
!     def new(self, filename=None):
!         return self.EditorWindow(self, filename)
  
      def new_callback(self, event):

Index: IOBinding.py
===================================================================
RCS file: /cvsroot/idlefork/idle/IOBinding.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** IOBinding.py	18 May 2003 02:24:32 -0000	1.16
--- IOBinding.py	5 Jun 2003 02:34:04 -0000	1.17
***************
*** 180,189 ****
  
      filename = None
  
      def set_filename(self, filename):
!         self.filename = filename
!         self.set_saved(1)
!         if self.filename_change_hook:
!             self.filename_change_hook()
  
      def open(self, event=None, editFile=None):
--- 180,195 ----
  
      filename = None
+     dirname = None
  
      def set_filename(self, filename):
!         if filename and os.path.isdir(filename):
!             self.filename = None
!             self.dirname = filename
!         else:
!             self.filename = filename
!             self.dirname = None
!             self.set_saved(1)
!             if self.filename_change_hook:
!                 self.filename_change_hook()
  
      def open(self, event=None, editFile=None):
***************
*** 506,509 ****
--- 512,517 ----
          if self.filename:
              return os.path.split(self.filename)
+         elif self.dirname:
+             return self.dirname, ""
          else:
              try: