Added option to only display top layers in layerview

This commit is contained in:
Jaime van Kessel 2016-07-29 13:17:41 +02:00
parent 8d59d7187f
commit b9a1d50e05
2 changed files with 19 additions and 4 deletions

View file

@ -45,10 +45,11 @@ class LayerView(View):
self._activity = False self._activity = False
Preferences.getInstance().addPreference("view/top_layer_count", 5) Preferences.getInstance().addPreference("view/top_layer_count", 5)
Preferences.getInstance().addPreference("view/only_show_top_layers", False)
Preferences.getInstance().preferenceChanged.connect(self._onPreferencesChanged) Preferences.getInstance().preferenceChanged.connect(self._onPreferencesChanged)
self._solid_layers = int(Preferences.getInstance().getValue("view/top_layer_count")) self._solid_layers = int(Preferences.getInstance().getValue("view/top_layer_count"))
self._only_show_top_layers = bool(Preferences.getInstance().getValue("view/only_show_top_layers"))
self._busy = False self._busy = False
def getActivity(self): def getActivity(self):
@ -100,7 +101,7 @@ class LayerView(View):
continue continue
# Render all layers below a certain number as line mesh instead of vertices. # Render all layers below a certain number as line mesh instead of vertices.
if self._current_layer_num - self._solid_layers > -1: if self._current_layer_num - self._solid_layers > -1 and not self._only_show_top_layers:
start = 0 start = 0
end = 0 end = 0
element_counts = layer_data.getElementCounts() element_counts = layer_data.getElementCounts()
@ -206,12 +207,12 @@ class LayerView(View):
self._top_layers_job = None self._top_layers_job = None
def _onPreferencesChanged(self, preference): def _onPreferencesChanged(self, preference):
if preference != "view/top_layer_count": if preference != "view/top_layer_count" and preference != "view/only_show_top_layers":
return return
self._solid_layers = int(Preferences.getInstance().getValue("view/top_layer_count")) self._solid_layers = int(Preferences.getInstance().getValue("view/top_layer_count"))
self._only_show_top_layers = bool(Preferences.getInstance().getValue("view/only_show_top_layers"))
self.resetLayerData()
self._startUpdateTopLayers() self._startUpdateTopLayers()
class _CreateTopLayersJob(Job): class _CreateTopLayersJob(Job):

View file

@ -192,6 +192,7 @@ UM.PreferencesPage
} }
} }
UM.TooltipArea { UM.TooltipArea {
width: childrenRect.width; width: childrenRect.width;
height: childrenRect.height; height: childrenRect.height;
@ -215,6 +216,19 @@ UM.PreferencesPage
} }
} }
} }
UM.TooltipArea {
width: childrenRect.width
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should only the top layers be displayed in layerview?")
CheckBox
{
id: topLayersOnlyCheckbox
text: catalog.i18nc("@option:check", "Only display top layer(s) in layer view")
checked: boolCheck(UM.Preferences.getValue("view/only_show_top_layers"))
onCheckedChanged: UM.Preferences.setValue("view/only_show_top_layers", checked)
}
}
Item Item
{ {