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