DirectoryTreeBrowser.st
changeset 5063 87f68877a3da
parent 5010 27aa6fa93dcd
child 5064 6c5d1f6dc118
--- a/DirectoryTreeBrowser.st	Thu Jul 31 10:21:20 2003 +0200
+++ b/DirectoryTreeBrowser.st	Thu Jul 31 10:54:11 2003 +0200
@@ -220,7 +220,7 @@
          #(#MenuItem
             #enabled: #hasSelection
             #label: 'Rename'
-            #itemValue: #treeViewFileRename
+            #itemValue: #renameFileInTreeView
             #translateLabel: true
             #isVisible: #allowFileOperations
             #shortcutKey: #Rename
@@ -383,6 +383,11 @@
 
 !DirectoryTreeBrowser methodsFor:'accessing'!
 
+allowRenameOnOneClick
+
+    ^ false
+!
+
 browser
     "return the value of the instance variable 'browser' (automatically generated)"
 
@@ -500,6 +505,17 @@
     ].
 !
 
+renameFileInTreeView
+
+    self allowRenameOnOneClick ifTrue:[
+        browser openEditor.
+    ] ifFalse:[
+        browser openEditorAction:self openEditorAction.
+        browser openEditor.
+        browser openEditorAction:nil.
+    ].
+!
+
 setMatchBlockForList:list
 
     | selection matchBlock filterBlock viewFiles|
@@ -581,11 +597,6 @@
     ].
 !
 
-treeViewFileRename
-
-    browser openEditor.
-!
-
 updateSelectedItem
 
     | sel |
@@ -966,7 +977,7 @@
         ^ true
     ].
     (key == #Replace) ifTrue:[
-        self treeViewFileRename.
+        self renameFileInTreeView.
         ^ true
     ].
     (key == #Cut) ifTrue:[
@@ -1143,6 +1154,12 @@
     self filterBlockHolder addDependent:self.
 !
 
+openEditorAction 
+    ^ [:ln :aGC | 
+                self openEditorIn:aGC forLine:ln
+    ].
+!
+
 openEditorIn:aGC forLine:ln 
     |item alreadyAccepted filename field newFileString newFilename|
 
@@ -1204,10 +1221,9 @@
 postBuildDirBrowser:aWidget 
     browser := aWidget scrolledView.
     browser hasConstantHeight:true.
-    browser 
-        openEditorAction:[:ln :aGC | 
-            self openEditorIn:aGC forLine:ln
-        ].
+    self allowRenameOnOneClick ifTrue:[
+        browser openEditorAction:self openEditorAction
+    ].
     browser multipleSelectOk:self multipleSelect
 !
 
@@ -1264,5 +1280,5 @@
 !DirectoryTreeBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.69 2003-06-30 13:24:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryTreeBrowser.st,v 1.70 2003-07-31 08:54:11 penk Exp $'
 ! !