src/eric7/Plugins/VcsPlugins/vcsMercurial/HgBookmarkDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9653
e67609152c5e
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
15 15
16 class HgBookmarkDialog(QDialog, Ui_HgBookmarkDialog): 16 class HgBookmarkDialog(QDialog, Ui_HgBookmarkDialog):
17 """ 17 """
18 Class mplementing the bookmark dialog. 18 Class mplementing the bookmark dialog.
19 """ 19 """
20
20 DEFINE_MODE = 0 21 DEFINE_MODE = 0
21 MOVE_MODE = 1 22 MOVE_MODE = 1
22 23
23 def __init__(self, mode, tagsList, branchesList, bookmarksList, 24 def __init__(self, mode, tagsList, branchesList, bookmarksList, parent=None):
24 parent=None):
25 """ 25 """
26 Constructor 26 Constructor
27 27
28 @param mode of the dialog 28 @param mode of the dialog
29 @type int 29 @type int
30 @param tagsList list of tags 30 @param tagsList list of tags
31 @type list of str 31 @type list of str
32 @param branchesList list of branches 32 @param branchesList list of branches
36 @param parent parent widget 36 @param parent parent widget
37 @type QWidget 37 @type QWidget
38 """ 38 """
39 super().__init__(parent) 39 super().__init__(parent)
40 self.setupUi(self) 40 self.setupUi(self)
41 41
42 self.buttonBox.button( 42 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
43 QDialogButtonBox.StandardButton.Ok).setEnabled(False) 43
44
45 self.__mode = mode 44 self.__mode = mode
46 if mode == self.MOVE_MODE: 45 if mode == self.MOVE_MODE:
47 self.nameEdit.hide() 46 self.nameEdit.hide()
48 self.nameCombo.addItems([""] + sorted(bookmarksList)) 47 self.nameCombo.addItems([""] + sorted(bookmarksList))
49 self.setWindowTitle(self.tr("Move Bookmark")) 48 self.setWindowTitle(self.tr("Move Bookmark"))
50 else: 49 else:
51 self.nameCombo.hide() 50 self.nameCombo.hide()
52 self.setWindowTitle(self.tr("Define Bookmark")) 51 self.setWindowTitle(self.tr("Define Bookmark"))
53 52
54 self.__bookmarksList = bookmarksList[:] 53 self.__bookmarksList = bookmarksList[:]
55 54
56 self.tagCombo.addItems(sorted(tagsList)) 55 self.tagCombo.addItems(sorted(tagsList))
57 self.branchCombo.addItems(["default"] + sorted(branchesList)) 56 self.branchCombo.addItems(["default"] + sorted(branchesList))
58 self.bookmarkCombo.addItems(sorted(bookmarksList)) 57 self.bookmarkCombo.addItems(sorted(bookmarksList))
59 58
60 # connect various radio buttons and input fields 59 # connect various radio buttons and input fields
61 self.idButton.toggled.connect(self.__updateOK) 60 self.idButton.toggled.connect(self.__updateOK)
62 self.tagButton.toggled.connect(self.__updateOK) 61 self.tagButton.toggled.connect(self.__updateOK)
63 self.branchButton.toggled.connect(self.__updateOK) 62 self.branchButton.toggled.connect(self.__updateOK)
64 self.bookmarkButton.toggled.connect(self.__updateOK) 63 self.bookmarkButton.toggled.connect(self.__updateOK)
65 self.expressionButton.toggled.connect(self.__updateOK) 64 self.expressionButton.toggled.connect(self.__updateOK)
66 65
67 self.nameCombo.activated.connect(self.__updateOK) 66 self.nameCombo.activated.connect(self.__updateOK)
68 self.nameCombo.activated.connect(self.__updateBookmarksCombo) 67 self.nameCombo.activated.connect(self.__updateBookmarksCombo)
69 68
70 self.nameEdit.textChanged.connect(self.__updateOK) 69 self.nameEdit.textChanged.connect(self.__updateOK)
71 self.idEdit.textChanged.connect(self.__updateOK) 70 self.idEdit.textChanged.connect(self.__updateOK)
72 self.expressionEdit.textChanged.connect(self.__updateOK) 71 self.expressionEdit.textChanged.connect(self.__updateOK)
73 72
74 self.tagCombo.editTextChanged.connect(self.__updateOK) 73 self.tagCombo.editTextChanged.connect(self.__updateOK)
75 self.branchCombo.editTextChanged.connect(self.__updateOK) 74 self.branchCombo.editTextChanged.connect(self.__updateOK)
76 self.bookmarkCombo.editTextChanged.connect(self.__updateOK) 75 self.bookmarkCombo.editTextChanged.connect(self.__updateOK)
77 76
78 msh = self.minimumSizeHint() 77 msh = self.minimumSizeHint()
79 self.resize(max(self.width(), msh.width()), msh.height()) 78 self.resize(max(self.width(), msh.width()), msh.height())
80 79
81 @pyqtSlot() 80 @pyqtSlot()
82 def __updateOK(self): 81 def __updateOK(self):
83 """ 82 """
84 Private slot to update the OK button. 83 Private slot to update the OK button.
85 """ 84 """
86 enabled = ( 85 enabled = (
87 bool(self.nameCombo.currentText()) 86 bool(self.nameCombo.currentText())
88 if self.__mode == self.MOVE_MODE else 87 if self.__mode == self.MOVE_MODE
89 bool(self.nameEdit.text()) 88 else bool(self.nameEdit.text())
90 ) 89 )
91 90
92 if self.idButton.isChecked(): 91 if self.idButton.isChecked():
93 enabled = bool(self.idEdit.text()) 92 enabled = bool(self.idEdit.text())
94 elif self.tagButton.isChecked(): 93 elif self.tagButton.isChecked():
95 enabled = bool(self.tagCombo.currentText()) 94 enabled = bool(self.tagCombo.currentText())
96 elif self.branchButton.isChecked(): 95 elif self.branchButton.isChecked():
97 enabled = bool(self.branchCombo.currentText()) 96 enabled = bool(self.branchCombo.currentText())
98 elif self.bookmarkButton.isChecked(): 97 elif self.bookmarkButton.isChecked():
99 enabled = bool(self.bookmarkCombo.currentText()) 98 enabled = bool(self.bookmarkCombo.currentText())
100 elif self.expressionButton.isChecked(): 99 elif self.expressionButton.isChecked():
101 enabled = enabled and bool(self.expressionEdit.text()) 100 enabled = enabled and bool(self.expressionEdit.text())
102 101
103 self.buttonBox.button( 102 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enabled)
104 QDialogButtonBox.StandardButton.Ok).setEnabled(enabled) 103
105
106 def __updateBookmarksCombo(self): 104 def __updateBookmarksCombo(self):
107 """ 105 """
108 Private slot to update the bookmarks combo. 106 Private slot to update the bookmarks combo.
109 """ 107 """
110 if self.__mode == self.MOVE_MODE: 108 if self.__mode == self.MOVE_MODE:
118 self.bookmarkCombo.removeItem(index) 116 self.bookmarkCombo.removeItem(index)
119 if selectedBookmark: 117 if selectedBookmark:
120 index = self.bookmarkCombo.findText(selectedBookmark) 118 index = self.bookmarkCombo.findText(selectedBookmark)
121 if index > -1: 119 if index > -1:
122 self.bookmarkCombo.setCurrentIndex(index) 120 self.bookmarkCombo.setCurrentIndex(index)
123 121
124 def getData(self): 122 def getData(self):
125 """ 123 """
126 Public method to retrieve the entered data. 124 Public method to retrieve the entered data.
127 125
128 @return tuple naming the revision and the bookmark name 126 @return tuple naming the revision and the bookmark name
129 @rtype tuple of (str, str) 127 @rtype tuple of (str, str)
130 """ 128 """
131 if self.numberButton.isChecked(): 129 if self.numberButton.isChecked():
132 rev = "rev({0})".format(self.numberSpinBox.value()) 130 rev = "rev({0})".format(self.numberSpinBox.value())
140 rev = self.bookmarkCombo.currentText() 138 rev = self.bookmarkCombo.currentText()
141 elif self.expressionButton.isChecked(): 139 elif self.expressionButton.isChecked():
142 rev = self.expressionEdit.text() 140 rev = self.expressionEdit.text()
143 else: 141 else:
144 rev = "" 142 rev = ""
145 143
146 name = ( 144 name = (
147 self.nameCombo.currentText().replace(" ", "_") 145 self.nameCombo.currentText().replace(" ", "_")
148 if self.__mode == self.MOVE_MODE else 146 if self.__mode == self.MOVE_MODE
149 self.nameEdit.text().replace(" ", "_") 147 else self.nameEdit.text().replace(" ", "_")
150 ) 148 )
151 149
152 return rev, name 150 return rev, name

eric ide

mercurial