diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py
index 9184db109a..82be7c480f 100644
--- a/cura/Settings/ContainerManager.py
+++ b/cura/Settings/ContainerManager.py
@@ -244,6 +244,7 @@ class ContainerManager(QObject):
if not type_name or entry["type"] == type_name:
filters.append(filter_string)
+ filters.append("All Files (*)")
return filters
## Export a container to a file
@@ -280,6 +281,9 @@ class ContainerManager(QObject):
return { "status": "error", "message": "Container not found"}
container = containers[0]
+ if UM.Platform.isOSX() and "." in file_url:
+ file_url = file_url[:file_url.rfind(".")]
+
for suffix in mime_type.suffixes:
if file_url.endswith(suffix):
break
@@ -301,7 +305,7 @@ class ContainerManager(QObject):
with UM.SaveFile(file_url, "w") as f:
f.write(contents)
- return { "status": "success", "message": "Succesfully exported container"}
+ return { "status": "success", "message": "Succesfully exported container", "path": file_url}
## Imports a profile from a file
#
@@ -371,11 +375,20 @@ class ContainerManager(QObject):
"container": container_type
}
- suffix_list = "*." + mime_type.preferredSuffix
+ suffix = mime_type.preferredSuffix
+ if UM.Platform.isOSX() and "." in suffix:
+ # OSX's File dialog is stupid and does not allow selecting files with a . in its name
+ suffix = suffix[suffix.index(".") + 1:]
+
+ suffix_list = "*." + suffix
for suffix in mime_type.suffixes:
if suffix == mime_type.preferredSuffix:
continue
+ if UM.Platform.isOSX() and "." in suffix:
+ # OSX's File dialog is stupid and does not allow selecting files with a . in its name
+ suffix = suffix[suffix.index("."):]
+
suffix_list += ", *." + suffix
name_filter = "{0} ({1})".format(mime_type.comment, suffix_list)
diff --git a/resources/qml/Preferences/MaterialsPage.qml b/resources/qml/Preferences/MaterialsPage.qml
index 9da5522762..f4a8df1dcf 100644
--- a/resources/qml/Preferences/MaterialsPage.qml
+++ b/resources/qml/Preferences/MaterialsPage.qml
@@ -255,7 +255,7 @@ UM.ManagementPage
else if(result.status == "success")
{
messageDialog.icon = StandardIcon.Information
- messageDialog.text = catalog.i18nc("@info:status", "Successfully exported material to %1").arg(fileUrl)
+ messageDialog.text = catalog.i18nc("@info:status", "Successfully exported material to %1").arg(result.path)
messageDialog.open()
}
CuraApplication.setDefaultPath("dialog_material_path", folder)