+//
+// What happens here is that for every QListWidgetItem we make, we connect it
+// to these handlers. But we only have to worry about that when adding and
+// moving a layer. However, when toggling states, we need to toggle the global
+// state variables too.
+//
+void LayerWidget::HandleHideToggle(QListWidgetItem * qlwi, bool state)
+{
+ int currentRow = list->row(qlwi);
+ int layer = (Global::numLayers - currentRow) - 1;
+ std::vector<bool>::iterator i = Global::layerHidden.begin() + layer;
+ (*i) = state;
+//printf("Item #%i, new hide state is %s\n", currentRow, (state ? "ON" : "off"));
+//printf("LayerWidget: New hide state of layer %i is %s.\n", layer, (state ? "ON" : "off"));
+ // We do this last, because otherwise the Document would get the wrong state
+ emit(LayerToggled());
+}
+
+
+void LayerWidget::HandleLockToggle(QListWidgetItem * qlwi, bool state)
+{
+ int currentRow = list->row(qlwi);
+ int layer = (Global::numLayers - currentRow) - 1;
+ std::vector<bool>::iterator i = Global::layerLocked.begin() + layer;
+ (*i) = state;
+// printf("Item #%i, new lock state is %s\n", list->row(qlwi), (state ? "ON" : "off"));
+}
+
+
+void LayerWidget::HandleDblClick(QListWidgetItem * /*qlwi*/)
+{
+ EditLayer();
+}
+
+