def on_merge(self, effective_changes): changes = self.pending_changes(False) self.logger.debug("All inst changes: %s" % changes) if "button.other_device" in changes: details = self.widgets["installation.device.details"] details.text("") description = (("Please enter one or more disks to use " + "for installing %s. Multiple devices can be " + "separated by comma.") % self.application.product.PRODUCT_SHORT) self._dialog = CustomDeviceDialog("installation.device.custom", "Installation devices.", description, self) self.widgets.add(self._dialog) return self._dialog if changes.contains_any(["installation.device.custom"]): # Check if any custom device was set cdevs = self._model.get("installation.device.custom", "").\ split(",") # Update the installlation devices accordingly self._model.setdefault("installation.devices", []).extend(cdevs) if changes.contains_any(["dialog.device.custom.save"]): # Custom device dialog: <Save> has been hit self._dialog.close() self.application.ui.navigate.to_next_plugin() elif changes.contains_any(["button.back"]): self.application.ui.navigate.to_previous_plugin() elif changes.contains_any(["button.next"]): self.application.ui.navigate.to_next_plugin()
def on_merge(self, effective_changes): changes = self.pending_changes(False) self.logger.debug("All inst changes: %s" % changes) if "button.other_device" in changes: details = self.widgets["installation.device.details"] details.text("") description = (("Please enter one or more disks to use " + "for installing %s. Multiple devices can be " + "separated by comma.") % self.application.product.PRODUCT_SHORT) self._dialog = CustomDeviceDialog("installation.device.custom", "Installation devices.", description) self.widgets.add(self._dialog) return self._dialog elif changes.contains_any( ["installation.device.custom", "dialog.device.custom.save"]): self._dialog.close() return self.ui_content() if changes.contains_any(["button.back"]): self.application.ui.navigate.to_previous_plugin() elif changes.contains_any(["button.next"]): if "installation.device.custom" in self._model: cdev = self._model["installation.device.custom"] self._model["installation.devices"].append(cdev) self.application.ui.navigate.to_next_plugin()
def on_change(self, changes): self.logger.debug("Installation device changes: %s" % changes) if changes.contains_any(["installation.device.current"]): highlighted_device = changes["installation.device.current"] details = self.widgets["installation.device.details"] if highlighted_device == "other": details.text("") self._dialog = CustomDeviceDialog("custom", "x", "y") return self._dialog elif highlighted_device: selected_devices = \ self.widgets["installation.device.current"].selection() self.logger.debug("selected devices: %s" % selected_devices) changes["installation.devices"] = selected_devices self._model.update(changes) details.set_device(highlighted_device)