eric7/Plugins/VcsPlugins/vcsPySvn/SvnCommitDialog.py

branch
eric7
changeset 8624
5192a2592324
parent 8322
b422b4e77d19
child 8629
1b58dc890b87
equal deleted inserted replaced
8623:fced5aa98d41 8624:5192a2592324
12 from PyQt6.QtCore import pyqtSignal, Qt, pyqtSlot 12 from PyQt6.QtCore import pyqtSignal, Qt, pyqtSlot
13 from PyQt6.QtWidgets import QWidget, QDialogButtonBox 13 from PyQt6.QtWidgets import QWidget, QDialogButtonBox
14 14
15 from .Ui_SvnCommitDialog import Ui_SvnCommitDialog 15 from .Ui_SvnCommitDialog import Ui_SvnCommitDialog
16 16
17 import Preferences
18
19 17
20 class SvnCommitDialog(QWidget, Ui_SvnCommitDialog): 18 class SvnCommitDialog(QWidget, Ui_SvnCommitDialog):
21 """ 19 """
22 Class implementing a dialog to enter the commit message. 20 Class implementing a dialog to enter the commit message.
23 21
25 @signal rejected() emitted, if the dialog was rejected 23 @signal rejected() emitted, if the dialog was rejected
26 """ 24 """
27 accepted = pyqtSignal() 25 accepted = pyqtSignal()
28 rejected = pyqtSignal() 26 rejected = pyqtSignal()
29 27
30 def __init__(self, changelists, parent=None): 28 def __init__(self, vcs, parent=None):
31 """ 29 """
32 Constructor 30 Constructor
33 31
34 @param changelists list of available change lists (list of strings) 32 @param vcs reference to the vcs object
35 @param parent parent widget (QWidget) 33 @param parent parent widget (QWidget)
36 """ 34 """
37 super().__init__(parent, Qt.WindowType.Window) 35 super().__init__(parent, Qt.WindowType.Window)
38 self.setupUi(self) 36 self.setupUi(self)
39 37
38 self.__vcs = vcs
39
40 if pysvn.svn_version < (1, 5, 0) or pysvn.version < (1, 6, 0): 40 if pysvn.svn_version < (1, 5, 0) or pysvn.version < (1, 6, 0):
41 self.changeListsGroup.hide() 41 self.changeListsGroup.hide()
42 else: 42 else:
43 self.changeLists.addItems(sorted(changelists)) 43 self.changeLists.addItems(sorted(vcs.svnGetChangelists()))
44 44
45 def showEvent(self, evt): 45 def showEvent(self, evt):
46 """ 46 """
47 Protected method called when the dialog is about to be shown. 47 Protected method called when the dialog is about to be shown.
48 48
49 @param evt the event (QShowEvent) 49 @param evt the event (QShowEvent)
50 """ 50 """
51 self.recentCommitMessages = Preferences.toList( 51 commitMessages = self.__vcs.vcsCommitMessages()
52 Preferences.Prefs.settings.value('Subversion/Commits'))
53 self.recentComboBox.clear() 52 self.recentComboBox.clear()
54 self.recentComboBox.addItem("") 53 self.recentComboBox.addItem("")
55 self.recentComboBox.addItems(self.recentCommitMessages) 54 self.recentComboBox.addItems(commitMessages)
56 55
57 self.logEdit.setFocus(Qt.FocusReason.OtherFocusReason) 56 self.logEdit.setFocus(Qt.FocusReason.OtherFocusReason)
58 57
59 def logMessage(self): 58 def logMessage(self):
60 """ 59 """
65 64
66 @return the log message (string) 65 @return the log message (string)
67 """ 66 """
68 msg = self.logEdit.toPlainText() 67 msg = self.logEdit.toPlainText()
69 if msg: 68 if msg:
70 if msg in self.recentCommitMessages: 69 self.__vcs.vcsAddCommitMessage(msg)
71 self.recentCommitMessages.remove(msg)
72 self.recentCommitMessages.insert(0, msg)
73 no = int(Preferences.Prefs.settings.value(
74 'Subversion/CommitMessages', 20))
75 del self.recentCommitMessages[no:]
76 Preferences.Prefs.settings.setValue(
77 'Subversion/Commits', self.recentCommitMessages)
78 return msg 70 return msg
79 71
80 def hasChangelists(self): 72 def hasChangelists(self):
81 """ 73 """
82 Public method to check, if the user entered some changelists. 74 Public method to check, if the user entered some changelists.

eric ide

mercurial