changed:
authorClaus Gittinger <cg@exept.de>
Tue, 09 Nov 2010 14:27:58 +0100
changeset 2820 301557d950e6
parent 2819 89d5ee9bc2d0
child 2821 850aa6d37ea3
changed: #doLoadFromFile #doSaveImageFileAs
ImageEditor.st
--- a/ImageEditor.st	Mon Nov 08 14:07:00 2010 +0100
+++ b/ImageEditor.st	Tue Nov 09 14:27:58 2010 +0100
@@ -6142,7 +6142,7 @@
 doLoadFromFile
     "opens a dialog for loading an image from a file"
 
-    |img file filters|
+    |img file filters title|
 
     self checkModified ifFalse:[ ^ self ].
 
@@ -6152,23 +6152,46 @@
         file := img fileName
     ].
 
-    filters := FileSelectionBrowser loadImageFileNameFilters.
-
-    file notNil ifTrue:[
-        file := FileSelectionBrowser
-                    request:'Load Image From'
-                    fileName:file
-                    withFileFilters:filters.
-    ] ifFalse:[
-        file := FileSelectionBrowser
-                    request:'Load Image From'
-                    inDirectory:LastDirectory
-                    withFileFilters:filters.
+    title := (resources string:'Load Image From').
+
+    UserPreferences current useNativeFileDialog ifTrue:[
+        self withWaitCursorDo:[
+            file := Display
+                nativeFileDialogFor:(self window topView id)
+                save:false
+                title:title
+                inDirectory:(file notNil ifTrue:[file asFilename directory pathName] ifFalse:[LastDirectory])
+                initialAnswer:(file notNil ifTrue:[file asFilename baseName] ifFalse:['image.png'])
+                flags:#( ENABLESIZING "HIDEREADONLY" EXPLORER NOCHANGEDIR)
+                filter:
+                  {
+                          { (resources string:'Image Files') . '*.tif;*.png;*.gif;*.bmp;*.jpg'  } .
+                          { (resources string:'All Files') . '*.*'  } 
+                  }
+                extension:'png'
+                blocking:false.
+        ].
+    ] ifFalse:[    
+        filters := FileSelectionBrowser loadImageFileNameFilters.
+        file notNil ifTrue:[
+            file := FileSelectionBrowser
+                        request:title
+                        fileName:file
+                        withFileFilters:filters.
+        ] ifFalse:[
+            file := FileSelectionBrowser
+                        request:title
+                        inDirectory:LastDirectory
+                        withFileFilters:filters.
+        ].
     ].
+
     file notNil ifTrue:[
         LastDirectory := file asFilename directoryName.
         self loadFromFile:file
     ]
+
+    "Modified: / 09-11-2010 / 14:25:56 / cg"
 !
 
 doLoadFromURL
@@ -6386,29 +6409,48 @@
 
     filters := FileSelectionBrowser saveImageFileNameFilters.
 
-    (FileSelectionBrowser isNil or:[DirectoryView isNil]) ifTrue:[
-        file notNil ifTrue:[
-            file := Dialog requestFileName:'Save Image To'
-                        default:file
-                        pattern:(filters first).
-        ] ifFalse:[
-            file := Dialog
-                        requestFileName:'Save Image To'
-                        default:'image.png'
-                        pattern:(filters first)
-                        fromDirectory:LastDirectory.
+    UserPreferences current useNativeFileDialog ifTrue:[
+        self withWaitCursorDo:[
+            file := Display
+                nativeFileDialogFor:(self window topView id)
+                save:true
+                title:(resources string:'Save Image To')
+                inDirectory:(file notNil ifTrue:[file asFilename directory pathName] ifFalse:[LastDirectory])
+                initialAnswer:(file notNil ifTrue:[file asFilename baseName] ifFalse:['image.png'])
+                flags:#( ENABLESIZING "HIDEREADONLY" EXPLORER NOCHANGEDIR)
+                filter:
+                  {
+                          { (resources string:'Image Files') . '*.tif;*.png;*.gif;*.bmp'  } .
+                          { (resources string:'All Files') . '*.*'  } 
+                  }
+                extension:'png'
+                blocking:false.
         ].
-    ] ifFalse:[
-        file notNil ifTrue:[
-            file := FileSelectionBrowser
-                        request:'Save Image To'
-                        fileName:file
-                        withFileFilters:filters.
+    ] ifFalse:[    
+        (FileSelectionBrowser isNil or:[DirectoryView isNil]) ifTrue:[
+            file notNil ifTrue:[
+                file := Dialog requestFileName:'Save Image To'
+                            default:file
+                            pattern:(filters first).
+            ] ifFalse:[
+                file := Dialog
+                            requestFileName:'Save Image To'
+                            default:'image.png'
+                            pattern:(filters first)
+                            fromDirectory:LastDirectory.
+            ].
         ] ifFalse:[
-            file := FileSelectionBrowser
-                        request:'Save Image To'
-                        inDirectory:LastDirectory
-                        withFileFilters:filters.
+            file notNil ifTrue:[
+                file := FileSelectionBrowser
+                            request:'Save Image To'
+                            fileName:file
+                            withFileFilters:filters.
+            ] ifFalse:[
+                file := FileSelectionBrowser
+                            request:'Save Image To'
+                            inDirectory:LastDirectory
+                            withFileFilters:filters.
+            ].
         ].
     ].
     file notNil ifTrue:[
@@ -6418,7 +6460,7 @@
         self clearModified.
     ]
 
-    "Modified: / 18-10-2010 / 14:25:17 / cg"
+    "Modified: / 09-11-2010 / 14:25:41 / cg"
 !
 
 doSaveImageMaskFileAs