Move MIME type declarations into constructors of readers

So that if you disable the plug-in, the MIME type declaration is also not added.

Fixes #4151.
This commit is contained in:
Ghostkeeper 2018-09-27 13:58:06 +02:00
parent 88ba2ac345
commit 0ce9bf61be
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A
4 changed files with 27 additions and 25 deletions

View file

@ -1,5 +1,6 @@
#Copyright (c) 2018 Ultimaker B.V.
#Cura is released under the terms of the LGPLv3 or higher.
from typing import cast
from Charon.VirtualFile import VirtualFile #To open UFP files.
@ -9,6 +10,7 @@ from io import StringIO #For converting g-code to bytes.
from UM.Application import Application
from UM.Logger import Logger
from UM.Mesh.MeshWriter import MeshWriter #The writer we need to implement.
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType
from UM.PluginRegistry import PluginRegistry #To get the g-code writer.
from PyQt5.QtCore import QBuffer
@ -22,6 +24,15 @@ catalog = i18nCatalog("cura")
class UFPWriter(MeshWriter):
def __init__(self):
super().__init__(add_to_recent_files = False)
MimeTypeDatabase.addMimeType(
MimeType(
name = "application/x-cura-stl-file",
comment = "Cura UFP File",
suffixes = ["ufp"]
)
)
self._snapshot = None
Application.getInstance().getOutputDeviceManager().writeStarted.connect(self._createSnapshot)