X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fsficreate.py;h=adfba5506ac278b9fc7ca884de73f814ca6f48a9;hp=70dd900c4f196bf99a18dfbe1674499ed2d5c3d6;hb=8acaa8580500e0041b6f4ad9bc9d42eca5f99f97;hpb=37dfde8c6c59f3c33d1225d3c73cb5ec11c12306 diff --git a/sface/sficreate.py b/sface/sficreate.py index 70dd900..adfba55 100644 --- a/sface/sficreate.py +++ b/sface/sficreate.py @@ -145,3 +145,69 @@ class CreateWindow(QDialog): self.userView.hideUnusableColumns() self.userView.resizeColumnToContents(0) +class RemoveWindow(QDialog): + def __init__(self, hrn, parent=None): + super(RemoveWindow, self).__init__(parent) + self.setWindowTitle("Remove Slice") + + hrnLabel = QLabel("Slice HRN:") + self.hrnEdit = QLineEdit() + self.status = QLabel("") + self.status.setMaximumWidth(640) + + if hrn: + self.hrnEdit.setText(hrn) + + self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + self.buttonBox.button(QDialogButtonBox.Ok).setDefault(True) + + layout = QVBoxLayout() + layout.addWidget(hrnLabel) + layout.addWidget(self.hrnEdit) + layout.addWidget(self.status) + layout.addWidget(self.buttonBox) + self.setLayout(layout) + + self.userModel = UserModel(parent=self) + + self.connect(self.buttonBox, SIGNAL("accepted()"), self, SLOT("accept()")) + self.connect(self.buttonBox, SIGNAL("rejected()"), self, SLOT("reject()")) + + def accept(self): + hrn = self.hrnEdit.text() + + box = QMessageBox(parent=self) + box.setText("Confirm deletion of slice %s ?" % hrn) + box.setStandardButtons(QMessageBox.Yes | QMessageBox.No) + ret = box.exec_() + if (ret != QMessageBox.Yes): + return + + self.setStatus("Removing Slice...") + + self.removeProcess = SfiProcess(self) + self.connect(self.removeProcess, SIGNAL('finished()'), self.removeFinished) + + self.buttonBox.setEnabled(False) + + self.removeProcess.removeRecord(hrn) + + def setStatus(self, x): + self.status.setText(x) + + def removeFinished(self): + faultString = self.removeProcess.getFaultString() + if not faultString: + self.setStatus("Slice removed.") + self.sliceWasCreated = True + self.buttonBox.setEnabled(True) + self.buttonBox.clear() + self.buttonBox.addButton(QDialogButtonBox.Close) + else: + self.setStatus("Slice removal failed: %s" % (faultString)) + self.buttonBox.setEnabled(True) + + self.disconnect(self.removeProcess, SIGNAL('finished()'), self.removeFinished) + self.removeProcess = None + +