Browse Source

Remember last path when selecting material to edit.

Lasse Öörni 12 years ago
parent
commit
05178ba2e9

+ 11 - 7
Bin/Data/Scripts/Editor/AttributeEditor.as

@@ -928,13 +928,7 @@ void PickResource(StringHash eventType, VariantMap& eventData)
 
 
 void PickResourceDone(StringHash eventType, VariantMap& eventData)
 void PickResourceDone(StringHash eventType, VariantMap& eventData)
 {
 {
-    // Store filter and directory for next time
-    if (resourcePicker !is null)
-    {
-        resourcePicker.lastPath = uiFileSelector.path;
-        resourcePicker.lastFilter = uiFileSelector.filterIndex;
-    }
-
+    StoreResourcePickerPath();
     CloseFileSelector();
     CloseFileSelector();
 
 
     if (!eventData["OK"].GetBool())
     if (!eventData["OK"].GetBool())
@@ -1003,6 +997,16 @@ void PickResourceDone(StringHash eventType, VariantMap& eventData)
     @resourcePicker = null;
     @resourcePicker = null;
 }
 }
 
 
+void StoreResourcePickerPath()
+{
+    // Store filter and directory for next time
+    if (resourcePicker !is null && uiFileSelector !is null)
+    {
+        resourcePicker.lastPath = uiFileSelector.path;
+        resourcePicker.lastFilter = uiFileSelector.filterIndex;
+    }
+}
+
 Resource@ GetPickedResource(String resourceName)
 Resource@ GetPickedResource(String resourceName)
 {
 {
     resourceName = GetResourceNameFromFullName(resourceName);
     resourceName = GetResourceNameFromFullName(resourceName);

+ 7 - 4
Bin/Data/Scripts/Editor/EditorMaterial.as

@@ -125,6 +125,7 @@ void PickEditMaterial()
 
 
 void PickEditMaterialDone(StringHash eventType, VariantMap& eventData)
 void PickEditMaterialDone(StringHash eventType, VariantMap& eventData)
 {
 {
+    StoreResourcePickerPath();
     CloseFileSelector();
     CloseFileSelector();
 
 
     if (!eventData["OK"].GetBool())
     if (!eventData["OK"].GetBool())
@@ -174,20 +175,22 @@ void SaveMaterialAs()
     if (editMaterial is null)
     if (editMaterial is null)
         return;
         return;
 
 
-    ResourcePicker@ picker = GetResourcePicker(ShortStringHash("Material"));
-    if (picker is null)
+    @resourcePicker = GetResourcePicker(ShortStringHash("Material"));
+    if (resourcePicker is null)
         return;
         return;
 
 
-    String lastPath = picker.lastPath;
+    String lastPath = resourcePicker.lastPath;
     if (lastPath.empty)
     if (lastPath.empty)
         lastPath = sceneResourcePath;
         lastPath = sceneResourcePath;
-    CreateFileSelector("Save material as", "Save", "Cancel", lastPath, picker.filters, picker.lastFilter);
+    CreateFileSelector("Save material as", "Save", "Cancel", lastPath, resourcePicker.filters, resourcePicker.lastFilter);
     SubscribeToEvent(uiFileSelector, "FileSelected", "SaveMaterialAsDone");
     SubscribeToEvent(uiFileSelector, "FileSelected", "SaveMaterialAsDone");
 }
 }
 
 
 void SaveMaterialAsDone(StringHash eventType, VariantMap& eventData)
 void SaveMaterialAsDone(StringHash eventType, VariantMap& eventData)
 {
 {
+    StoreResourcePickerPath();
     CloseFileSelector();
     CloseFileSelector();
+    @resourcePicker = null;
 
 
     if (editMaterial is null)
     if (editMaterial is null)
         return;
         return;