mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 15:07:28 -06:00
CURA-5137 Adding a loading page while the data is not yet ready.
This commit is contained in:
parent
20feabbb06
commit
2fe2c71754
2 changed files with 17 additions and 9 deletions
|
@ -14,6 +14,7 @@ import UM 1.1 as UM
|
|||
Window
|
||||
{
|
||||
id: base
|
||||
property bool dataReady: manager.dataReady
|
||||
title: catalog.i18nc("@title:tab", "Toolbox");
|
||||
modality: Qt.ApplicationModal
|
||||
width: 800 * screenScaleFactor
|
||||
|
@ -40,20 +41,25 @@ Window
|
|||
top: topBar.bottom
|
||||
bottom: bottomBar.top
|
||||
}
|
||||
ToolboxLoading
|
||||
{
|
||||
id: loading
|
||||
visible: !dataReady && manager.currentView != "installed"
|
||||
}
|
||||
ToolboxDownloadsPage
|
||||
{
|
||||
id: viewDownloads
|
||||
visible: manager.currentView != "installed" && manager.detailView == ""
|
||||
visible: dataReady && manager.currentView != "installed" && manager.detailView == ""
|
||||
}
|
||||
ToolboxDetailsPage
|
||||
{
|
||||
id: viewDetail
|
||||
visible: manager.currentView != "installed" && manager.detailView != ""
|
||||
visible: dataReady && manager.currentView != "installed" && manager.detailView != ""
|
||||
}
|
||||
ToolboxInstalledPage
|
||||
{
|
||||
id: installedPluginList
|
||||
visible: manager.currentView == "installed"
|
||||
visible: dataReady && manager.currentView == "installed"
|
||||
}
|
||||
}
|
||||
ToolboxShadow
|
||||
|
|
|
@ -48,7 +48,7 @@ class Toolbox(QObject, Extension):
|
|||
|
||||
# Nowadays can be 'plugins', 'materials' or 'installed'
|
||||
self._current_view = "plugins"
|
||||
self._detail_view = False
|
||||
self._detail_view = ""
|
||||
|
||||
self._restart_required = False
|
||||
|
||||
|
@ -291,18 +291,17 @@ class Toolbox(QObject, Extension):
|
|||
|
||||
def setCurrentView(self, view = "plugins"):
|
||||
self._current_view = view
|
||||
self._detail_view = False
|
||||
self.viewChanged.emit()
|
||||
|
||||
@pyqtProperty(str, fset = setCurrentView, notify = viewChanged)
|
||||
def currentView(self):
|
||||
return self._current_view
|
||||
|
||||
def setDetailView(self, item = False):
|
||||
self._detail_view = item
|
||||
def setDetailView(self, detail_view = ""):
|
||||
self._detail_view = detail_view
|
||||
self.detailViewChanged.emit()
|
||||
|
||||
@pyqtProperty(bool, fset = setDetailView, notify = detailViewChanged)
|
||||
@pyqtProperty(str, fset = setDetailView, notify = detailViewChanged)
|
||||
def detailView(self):
|
||||
return self._detail_view
|
||||
|
||||
|
@ -328,6 +327,10 @@ class Toolbox(QObject, Extension):
|
|||
def packagesModel(self):
|
||||
return self._packages_model
|
||||
|
||||
@pyqtProperty(bool, notify = packagesMetadataChanged)
|
||||
def dataReady(self):
|
||||
return self._packages_model is not None
|
||||
|
||||
def _checkCanUpgrade(self, id, version):
|
||||
|
||||
# TODO: This could maybe be done more efficiently using a dictionary...
|
||||
|
@ -392,7 +395,6 @@ class Toolbox(QObject, Extension):
|
|||
if not self._packages_model:
|
||||
self._packages_model = CuraPackageModel()
|
||||
self._packages_model.setPackagesMetaData(self._packages_metadata)
|
||||
# self._plugin_registry.addExternalPlugins(self._packages_metadata)
|
||||
self.packagesMetadataChanged.emit()
|
||||
except json.decoder.JSONDecodeError:
|
||||
Logger.log("w", "Received an invalid print job state message: Not valid JSON.")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue