def hidePaste(self, accepted): """ """ PluginPatch.finish(accepted) if self.messageDialog: self.messageDialog.reject() MessageDialogContainer.instance().unregisterDialog(self.messageDialog)
def copySequenceComplete(self, successful, versions): """ copySequenceComplete(successful: bool, versions = [int,int]) -> None Handled the selection is done. successful specifies if the selection was completed or aborted by users. """ versionView = self.getVersionView() if versionView!=None: self.disconnect(versionView, QtCore.SIGNAL('doneMultiSelection'), self.copySequenceComplete) if successful: controller = self.viewManager.currentWidget().controller if not PluginPatch.isValidSequence(controller, versions[0], versions[1]): self.showStatusWarning('Copy failed', 'Start version not a parent of end version') PluginPatch.reset() self.pasteOperationAction.setEnabled(False) else: # Start at the parent of selected version because it is more # Intuitive for the user. start = versions[0] end = versions[1] parent = controller.get_parent(start) if parent >= 0: start = parent PluginPatch.copy(controller, start, end) self.pasteOperationAction.setEnabled(True) self.statusBar().showMessage('Sequence copied to clipboard', CurrentTheme.STATUS_TIMER_LENGTH) QtCore.QTimer.singleShot(CurrentTheme.STATUS_TIMER_LENGTH, self.hideCopy)
def finishPaste(): PluginPatch.paste() self.messageDialog = QMessageDialog('Accept', 'Discard', 'Applied ' + PluginPatch.getReportText() + ' operation(s).\nAccept the paste?', self) self.connect(self.messageDialog, QtCore.SIGNAL('accepted'), self.hidePaste) self.messageDialog.show() MessageDialogContainer.instance().registerDialog(self.messageDialog)
def copyOperation(self): """ copyOperation() -> None """ self.hidePlayback() controller = self.viewManager.currentWidget().controller current_version = controller.current_version # Start at parent of selected version so that we get the action betwen them parent_version = controller.get_parent(current_version) if parent_version>=0: PluginPatch.copy(controller, parent_version, current_version) self.statusBar().showMessage('Copied version to clipboard', CurrentTheme.STATUS_TIMER_LENGTH) self.pasteOperationAction.setEnabled(True) else: self.showStatusWarning('Copy failed', 'Invalid version') PluginPatch.reset() self.pasteOperationAction.setEnabled(False)