#BUGFIX by cg
class: AbstractOperatingSystem class
changed: #openApplicationForDocument:operation:mimeType:
don't try to open an http-URL with the file browser.
--- a/AbstractOperatingSystem.st Wed Aug 08 22:02:51 2018 +0200
+++ b/AbstractOperatingSystem.st Thu Aug 09 13:04:19 2018 +0200
@@ -621,7 +621,7 @@
mimeType:nil
!
-openApplicationForDocument:aFilenameOrString operation:operationSymbol mimeType:mimeTypeStringArgOrNil
+openApplicationForDocument:aFilenameOrStringOrURLString operation:operationSymbol mimeType:mimeTypeStringArgOrNil
"open a windows-shell/mac finder/desktop application to present the document contained in aFilenameOrString.
This is typically used to present help-files, html documents, pdf documents etc.
operationSymbol is one of:
@@ -633,25 +633,39 @@
"
self
- openApplicationForDocument:aFilenameOrString
+ openApplicationForDocument:aFilenameOrStringOrURLString
operation:operationSymbol
mimeType:mimeTypeStringArgOrNil
inDirectory:nil
ifNone:[
- "/ last resort: use a fileBrowser
- FileBrowser default openOn:aFilenameOrString
+ |fn|
+
+ "/ last resort: use a fileBrowser,
+ "/ but only if it is a valid file (not a URL)
+ (fn := aFilenameOrStringOrURLString) asFilename exists ifFalse:[
+ (aFilenameOrStringOrURLString asURL method = 'file') ifFalse:[^ false].
+ fn := aFilenameOrStringOrURLString asURL path asFilename.
+ fn exists ifFalse:[^ false].
+ ].
+ FileBrowser default openOn:fn
].
-
- "
- self openApplicationForDocument: Filename currentDirectory operation:#open
- self openApplicationForDocument: '..\..\doc\books\ArtOfSmalltalk\artMissing186187Fix1.pdf' asFilename operation:#open
-
- self openApplicationForDocument: 'C:\WINDOWS\Help\clipbrd.chm' asFilename operation:#open
- self openApplicationForDocument: 'http://www.exept.de' operation:#open mimeType:'text/html'
+
+ ^ true
+
+ "
+ OperatingSystem openApplicationForDocument: Filename currentDirectory operation:#open
+ OperatingSystem openApplicationForDocument: '..\..\doc\books\ArtOfSmalltalk\artMissing186187Fix1.pdf' asFilename operation:#open
+
+ OperatingSystem openApplicationForDocument: 'C:\WINDOWS\Help\clipbrd.chm' asFilename operation:#open
+ OperatingSystem openApplicationForDocument: 'http://www.exept.de' operation:#open mimeType:'text/html'
+
+ OperatingSystem openApplicationForDocument: 'file:///tmp/foo' operation:#open mimeType:'text/html'
+ OperatingSystem openApplicationForDocument: 'file://Makefile' operation:#open mimeType:'text/html'
"
"Created: / 29-10-2010 / 12:16:38 / cg"
"Modified: / 01-09-2017 / 14:03:36 / cg"
+ "Modified (comment): / 09-08-2018 / 13:02:34 / Claus Gittinger"
!
openApplicationForDocument:aFilenameOrString operation:operationSymbol mimeType:mimeTypeStringArgOrNil ifNone:exceptionBlock