Ejemplo n.º 1
0
 def hidePaste(self, accepted):
     """
     """
     PluginPatch.finish(accepted)
     if self.messageDialog:
         self.messageDialog.reject()
         MessageDialogContainer.instance().unregisterDialog(self.messageDialog)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)