def setState(self, state, dev): self._d = dev # Hacky: show only one widget for an action. self.warning.hide() self.edit.hide() self.show() t = self._d.getType() if t == parteddata.deviceType: if state == createState: self.edit.size.setMaxValue(self._d.getLargestContinuousFreeMB()) self.edit.setState(state) self.edit.show() elif state == deleteState: self.warning.setText( _("You are going to delete all partitions on device '%s'") %(self._d.getModel())) self.warning.show() elif t == parteddata.partitionType: if state == createState and self._d.isExtended(): self.edit.size.setMaxValue(self._d.getFreeMB()) self.edit.setState(state, partition=self._d) self.edit.show() elif state == deleteState: self.warning.setText( _("You are going to delete partition '%s' on device '%s'!") % (self._d.getMinor(), self._d.getDevice().getModel())) self.warning.show() elif state == editState: self.edit.setState(state, partition=self._d) self.edit.show() elif state == resizeState: fs = filesystem.get_filesystem(self._d.getFSName()) min_size = fs.minResizeMB(self._d) max_size = self._d.getMB() self.edit.size.setMinValue(min_size) self.edit.size.setMaxValue(max_size) self.edit.setState(state, partition=self._d) self.edit.show() elif t == parteddata.freeSpaceType: if state == createState: # get free space self.edit.size.setMaxValue(self._d.getMB()) self.edit.setState(state) self.edit.show() self._state = state
def slotItemSelected(self): item = self.list.currentItem() d = item.getData() t = d.getType() if t == parteddata.deviceType: if d.getFreeMB() > 0 and d.primaryAvailable(): self.createButton.setEnabled(True) else: self.createButton.setEnabled(False) self.deleteButton.setEnabled(True) self.resizeButton.setEnabled(False) self.editButton.setEnabled(False) self.deleteButton.setText(_("Delete All Partitions")) elif t == parteddata.partitionType: # check if partition is resizeable fs = filesystem.get_filesystem(d.getFSName()) resizeable = False if fs: if fs.isResizeable() and d.isFileSystemReady(): resizeable = True # if partition has a format request, don't try to resize it (#5391) if ctx.partrequests.searchPartAndReqType(d, request.formatRequestType): resizeable = False self.resizeButton.setEnabled(resizeable) if d.isExtended(): if d.getFreeMB() > 0: self.createButton.setEnabled(True) else: self.createButton.setEnabled(False) self.deleteButton.setEnabled(True) if not d.isExtended(): # don't edit extended partititons self.editButton.setEnabled(True) self.deleteButton.setText(_("Delete Selected Partition")) elif t == parteddata.freeSpaceType: if d.getDevice().primaryAvailable(): self.createButton.setEnabled(True) self.deleteButton.setEnabled(False) self.resizeButton.setEnabled(False) self.editButton.setEnabled(False) self.emit(PYSIGNAL("signalSelectionChanged"), ())
def slotItemSelected(self): item = self.list.currentItem() d = item.getData() t = d.getType() if t == parteddata.deviceType: self.createButton.setEnabled(True) self.deleteButton.setEnabled(True) self.resizeButton.setEnabled(False) self.editButton.setEnabled(False) self.deleteButton.setText(_("Delete All Partitions")) elif t == parteddata.partitionType: # check if partition is resizeable fs = filesystem.get_filesystem(d.getFSName()) resizeable = False if fs: if fs.isResizeable(): resizeable = True self.resizeButton.setEnabled(resizeable) if d.isExtended(): if d.getFreeMB() > 0: self.createButton.setEnabled(True) else: self.createButton.setEnabled(False) self.deleteButton.setEnabled(True) if not d.isExtended(): # don't edit extended partititons self.editButton.setEnabled(True) self.deleteButton.setText(_("Delete Selected Partition")) elif t == parteddata.freeSpaceType: self.createButton.setEnabled(True) self.deleteButton.setEnabled(False) self.resizeButton.setEnabled(False) self.editButton.setEnabled(False) self.emit(PYSIGNAL("signalSelectionChanged"), ())