--- a/FileDialog.st Tue Oct 08 10:18:50 2002 +0200
+++ b/FileDialog.st Tue Oct 08 10:20:23 2002 +0200
@@ -3,8 +3,8 @@
SimpleDialog subclass:#FileDialog
instanceVariableNames:'aspects treeBrowser enableBack enableDirectoryUp enableForward
enableHome directory pattern filterHolder initialText
- cancelLabelHolder okLabelHolder startFilename result filterField
- filenameField viewFiles filenameLabelHolder'
+ doubleClickAction cancelLabelHolder okLabelHolder startFilename
+ result filterField filenameField viewFiles filenameLabelHolder'
classVariableNames:'LastFileSelectionDirectory'
poolDictionaries:''
category:'Interface-Tools-File'
@@ -98,7 +98,6 @@
defaultFile := defaultNm asFilename.
].
instance := self new.
-"/ defaultDir notNil ifTrue:[instance directory:(defaultDir asFilename)].
defaultDir notNil ifTrue:[instance directory:defaultFile].
instance startFilename:defaultFile.
instance initialText:title.
@@ -106,6 +105,7 @@
instance okLabelHolder value:okText.
instance cancelLabelHolder value:abortText.
instance viewFiles:false.
+ self setDoubleClickActionFor:instance.
instance allButOpenInterface:#windowSpec.
boxCreatedCallback notNil ifTrue:[boxCreatedCallback value:instance].
@@ -368,7 +368,7 @@
instance okLabelHolder value:okText.
instance cancelLabelHolder value:abortText.
instance viewFiles:true.
-
+ self setDoubleClickActionFor:instance.
instance allButOpenInterface:#windowSpec.
boxCreatedCallback notNil ifTrue:[boxCreatedCallback value:instance].
instance openWindowModal.
@@ -399,6 +399,19 @@
if no explicit path is specified (see requestFileName:* methods)"
LastFileSelectionDirectory := aDirectoryString
+!
+
+setDoubleClickActionFor:instance
+
+ instance doubleClickAction:[:anIndex|
+ | item |
+ item := instance treeBrowser fileList at:anIndex ifAbsent:nil.
+ item notNil ifTrue:[
+ ((instance viewFiles and:[item isDirectory not]) or:[instance viewFiles not]) ifTrue:[
+ instance doAccept.
+ ]
+ ]
+ ].
! !
!FileDialog class methodsFor:'interface specs'!
@@ -619,6 +632,18 @@
directory := something.
!
+doubleClickAction
+ "return the value of the instance variable 'doubleClickAction' (automatically generated)"
+
+ ^ doubleClickAction
+!
+
+doubleClickAction:something
+ "set the value of the instance variable 'doubleClickAction' (automatically generated)"
+
+ doubleClickAction := something.
+!
+
initialText
"return the value of the instance variable 'initialText' (automatically generated)"
@@ -924,6 +949,7 @@
"/ self windowGroup addPreEventHook:self.
treeBrowser currentFileNameHolder addDependent:self.
+ treeBrowser doubleClickAction:(self doubleClickAction).
treeBrowser enableBack addDependent:self.
treeBrowser enableForward addDependent:self.
treeBrowser enableHome addDependent:self.
@@ -1007,5 +1033,5 @@
!FileDialog class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.6 2002-10-02 09:19:20 mb Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.7 2002-10-08 08:20:23 penk Exp $'
! !