Add an empty state, when there are no configurations, showing a label indicating that the list is empty

Contributes to CURA-5876.
This commit is contained in:
Diego Prado Gesto 2018-12-12 13:33:46 +01:00
parent b1244b6bde
commit 4ba448077e
3 changed files with 21 additions and 11 deletions

View file

@ -7,16 +7,15 @@ import QtQuick.Controls 2.3
import UM 1.2 as UM
import Cura 1.0 as Cura
Column
Item
{
id: base
property var outputDevice: null
height: childrenRect.height + padding
spacing: UM.Theme.getSize("narrow_margin").height
height: childrenRect.height
function forceModelUpdate()
{
// FIXME For now the model should be removed and then created again, otherwise changes in the printer don't automatically update the UI
// FIXME For now the model has to be removed and then created again, otherwise changes in the printer don't automatically update the UI
configurationList.model = []
if (outputDevice)
{
@ -24,6 +23,17 @@ Column
}
}
// This component will appear when there is no configurations (e.g. when loosing connection)
Label
{
width: parent.width
visible: configurationList.model.length == 0
text: "Configuration list empty. Probably because of lost connection" // TODO change this to a proper component
horizontalAlignment: Text.AlignHCenter
wrapMode: Text.WordWrap
renderType: Text.NativeRendering
}
ScrollView
{
id: container

View file

@ -35,7 +35,6 @@ Cura.ExpandablePopup
}
contentPadding: UM.Theme.getSize("default_lining").width
contentAlignment: Cura.ExpandablePopup.ContentAlignment.AlignLeft
enabled: Cura.MachineManager.hasMaterials || Cura.MachineManager.hasVariants || Cura.MachineManager.hasVariantBuildplates; //Only let it drop down if there is any configuration that you could change.
headerItem: Item
@ -135,13 +134,14 @@ Cura.ExpandablePopup
spacing: UM.Theme.getSize("default_margin").height
property bool is_connected: false // If current machine is connected to a printer. Only evaluated upon making popup visible.
property int configuration_method: ConfigurationMenu.ConfigurationMethod.Custom // Type of configuration being used. Only evaluated upon making popup visible.
onVisibleChanged:
{
is_connected = Cura.MachineManager.activeMachineNetworkKey !== "" && Cura.MachineManager.printerConnected // Re-evaluate.
configuration_method = is_connected ? ConfigurationMenu.ConfigurationMethod.Auto : ConfigurationMenu.ConfigurationMethod.Custom // Auto if connected to a printer at start-up, or Custom if not.
}
property int configuration_method: is_connected ? ConfigurationMenu.ConfigurationMethod.Auto : ConfigurationMenu.ConfigurationMethod.Custom //Auto if connected to a printer at start-up, or Custom if not.
Item
{
width: parent.width - 2 * parent.padding

View file

@ -356,7 +356,7 @@
"expandable_component_content_header": [0.0, 3.0],
"configuration_selector": [38.0, 4.0],
"configuration_selector": [35.0, 4.0],
"configuration_selector_mode_tabs": [0.0, 3.0],
"action_panel_widget": [25.0, 0.0],