1
# -*- coding: utf-8 -*-
3
# Copyright (c) 2003 - 2007 Detlev Offenbach <detlev@die-offenbachs.de>
7
Module implementing a dialog to enter the data for a merge operation.
12
from MergeForm import MergeForm
14
class SvnMergeDialog(MergeForm):
16
Class implementing a dialog to enter the data for a merge operation.
18
def __init__(self, mergelist1, mergelist2, targetlist, parent = None):
22
@param mergelist1 list of previously entered URLs/revisions (QStringList)
23
@param mergelist2 list of previously entered URLs/revisions (QStringList)
24
@param targetlist list of previously entered targets (QStringList)
25
@param parent parent widget (QWidget)
27
MergeForm.__init__(self, parent, None, 1)
29
dummy = self.trUtf8('dummy')
31
self.rx_url = QRegExp('(?:file:|svn:|svn+ssh:|http:|https:)//.+')
32
self.rx_rev = QRegExp('\\d+')
34
self.tag1Combo.clear()
35
self.tag1Combo.insertStringList(mergelist1)
36
self.tag2Combo.clear()
37
self.tag2Combo.insertStringList(mergelist2)
38
self.targetCombo.clear()
39
self.targetCombo.insertStringList(targetlist)
41
def enableOkButton(self, text):
43
Private method used to enable/disable the OK-button.
47
self.okButton.setDisabled(
48
self.tag1Combo.currentText().isEmpty() or \
49
self.tag2Combo.currentText().isEmpty() or \
50
not ((self.rx_url.exactMatch(self.tag1Combo.currentText()) and \
51
self.rx_url.exactMatch(self.tag2Combo.currentText())) or \
52
(self.rx_rev.exactMatch(self.tag1Combo.currentText()) and \
53
self.rx_rev.exactMatch(self.tag2Combo.currentText()))
57
def getParameters(self):
59
Public method to retrieve the tag data.
61
@return tuple naming two tag names or two revisions (QString, QString)
63
return (self.tag1Combo.currentText(),
64
self.tag2Combo.currentText(),
65
self.targetCombo.currentText())