mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Show warning on-close of the install missing packaged dialog
CURA-6990
This commit is contained in:
parent
bee4da6368
commit
76180eee01
3 changed files with 16 additions and 4 deletions
|
@ -292,7 +292,7 @@ class WorkspaceDialog(QObject):
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def installMissingPackages(self) -> None:
|
def installMissingPackages(self) -> None:
|
||||||
self._install_missing_package_dialog = InstallMissingPackageDialog(self._missing_package_metadata)
|
self._install_missing_package_dialog = InstallMissingPackageDialog(self._missing_package_metadata, self.showMissingMaterialsWarning)
|
||||||
self._install_missing_package_dialog.show()
|
self._install_missing_package_dialog.show()
|
||||||
|
|
||||||
def getResult(self) -> Dict[str, Optional[str]]:
|
def getResult(self) -> Dict[str, Optional[str]]:
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from PyQt6.QtCore import QObject, pyqtSignal, pyqtProperty
|
from PyQt6.QtCore import QObject, pyqtSignal, pyqtProperty, QUrl
|
||||||
from typing import Optional, List, Dict, cast
|
from PyQt6.QtGui import QDesktopServices
|
||||||
|
from typing import Optional, List, Dict, cast, Callable
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
from UM.PluginRegistry import PluginRegistry
|
from UM.PluginRegistry import PluginRegistry
|
||||||
from cura.CuraPackageManager import CuraPackageManager
|
from cura.CuraPackageManager import CuraPackageManager
|
||||||
|
from UM.Message import Message
|
||||||
|
from UM.i18n import i18nCatalog
|
||||||
|
|
||||||
|
from UM.FlameProfiler import pyqtSlot
|
||||||
from plugins.Marketplace.MissingPackageList import MissingPackageList
|
from plugins.Marketplace.MissingPackageList import MissingPackageList
|
||||||
|
|
||||||
|
i18n_catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
class InstallMissingPackageDialog(QObject):
|
class InstallMissingPackageDialog(QObject):
|
||||||
"""Dialog used to display packages that need to be installed to load 3mf file materials"""
|
"""Dialog used to display packages that need to be installed to load 3mf file materials"""
|
||||||
def __init__(self, packages_metadata: List[Dict[str, str]]) -> None:
|
def __init__(self, packages_metadata: List[Dict[str, str]], show_missing_materials_warning: Callable[[], None]) -> None:
|
||||||
"""Initialize
|
"""Initialize
|
||||||
|
|
||||||
:param packages_metadata: List of dictionaries containing information about missing packages.
|
:param packages_metadata: List of dictionaries containing information about missing packages.
|
||||||
|
@ -27,6 +32,7 @@ class InstallMissingPackageDialog(QObject):
|
||||||
self._package_metadata: List[Dict[str, str]] = packages_metadata
|
self._package_metadata: List[Dict[str, str]] = packages_metadata
|
||||||
|
|
||||||
self._package_model: MissingPackageList = MissingPackageList(packages_metadata)
|
self._package_model: MissingPackageList = MissingPackageList(packages_metadata)
|
||||||
|
self._show_missing_materials_warning = show_missing_materials_warning
|
||||||
|
|
||||||
def show(self) -> None:
|
def show(self) -> None:
|
||||||
plugin_path = self._plugin_registry.getPluginPath("Marketplace")
|
plugin_path = self._plugin_registry.getPluginPath("Marketplace")
|
||||||
|
@ -54,3 +60,7 @@ class InstallMissingPackageDialog(QObject):
|
||||||
@pyqtProperty(QObject)
|
@pyqtProperty(QObject)
|
||||||
def model(self) -> MissingPackageList:
|
def model(self) -> MissingPackageList:
|
||||||
return self._package_model
|
return self._package_model
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def showMissingMaterialsWarning(self) -> None:
|
||||||
|
self._show_missing_materials_warning()
|
||||||
|
|
|
@ -16,4 +16,6 @@ Marketplace
|
||||||
pageContentsSource: "MissingPackages.qml"
|
pageContentsSource: "MissingPackages.qml"
|
||||||
showSearchHeader: false
|
showSearchHeader: false
|
||||||
showOnboadBanner: false
|
showOnboadBanner: false
|
||||||
|
|
||||||
|
onClosing: manager.showMissingMaterialsWarning()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue