9 |
9 |
10 from PyQt6.QtCore import pyqtSignal, Qt, pyqtSlot |
10 from PyQt6.QtCore import pyqtSignal, Qt, pyqtSlot |
11 from PyQt6.QtWidgets import QWidget, QDialogButtonBox |
11 from PyQt6.QtWidgets import QWidget, QDialogButtonBox |
12 |
12 |
13 from .Ui_SvnCommitDialog import Ui_SvnCommitDialog |
13 from .Ui_SvnCommitDialog import Ui_SvnCommitDialog |
14 |
|
15 import Preferences |
|
16 |
14 |
17 |
15 |
18 class SvnCommitDialog(QWidget, Ui_SvnCommitDialog): |
16 class SvnCommitDialog(QWidget, Ui_SvnCommitDialog): |
19 """ |
17 """ |
20 Class implementing a dialog to enter the commit message. |
18 Class implementing a dialog to enter the commit message. |
33 @param parent parent widget (QWidget) |
31 @param parent parent widget (QWidget) |
34 """ |
32 """ |
35 super().__init__(parent, Qt.WindowType.Window) |
33 super().__init__(parent, Qt.WindowType.Window) |
36 self.setupUi(self) |
34 self.setupUi(self) |
37 |
35 |
|
36 self.__vcs = vcs |
|
37 |
38 if vcs.version < (1, 5, 0): |
38 if vcs.version < (1, 5, 0): |
39 self.changeListsGroup.hide() |
39 self.changeListsGroup.hide() |
40 else: |
40 else: |
41 self.changeLists.addItems(sorted(vcs.svnGetChangelists())) |
41 self.changeLists.addItems(sorted(vcs.svnGetChangelists())) |
42 |
42 |
44 """ |
44 """ |
45 Protected method called when the dialog is about to be shown. |
45 Protected method called when the dialog is about to be shown. |
46 |
46 |
47 @param evt the event (QShowEvent) |
47 @param evt the event (QShowEvent) |
48 """ |
48 """ |
49 self.recentCommitMessages = Preferences.toList( |
49 commitMessages = self.__vcs.vcsCommitMessages() |
50 Preferences.Prefs.settings.value('Subversion/Commits')) |
|
51 self.recentComboBox.clear() |
50 self.recentComboBox.clear() |
52 self.recentComboBox.addItem("") |
51 self.recentComboBox.addItem("") |
53 self.recentComboBox.addItems(self.recentCommitMessages) |
52 self.recentComboBox.addItems(commitMessages) |
54 |
53 |
55 self.logEdit.setFocus(Qt.FocusReason.OtherFocusReason) |
54 self.logEdit.setFocus(Qt.FocusReason.OtherFocusReason) |
56 |
55 |
57 def logMessage(self): |
56 def logMessage(self): |
58 """ |
57 """ |
60 |
59 |
61 @return the log message (string) |
60 @return the log message (string) |
62 """ |
61 """ |
63 msg = self.logEdit.toPlainText() |
62 msg = self.logEdit.toPlainText() |
64 if msg: |
63 if msg: |
65 if msg in self.recentCommitMessages: |
64 self.__vcs.vcsAddCommitMessage(msg) |
66 self.recentCommitMessages.remove(msg) |
|
67 self.recentCommitMessages.insert(0, msg) |
|
68 no = int(Preferences.Prefs.settings |
|
69 .value('Subversion/CommitMessages', 20)) |
|
70 del self.recentCommitMessages[no:] |
|
71 Preferences.Prefs.settings.setValue( |
|
72 'Subversion/Commits', self.recentCommitMessages) |
|
73 return msg |
65 return msg |
74 |
66 |
75 def hasChangelists(self): |
67 def hasChangelists(self): |
76 """ |
68 """ |
77 Public method to check, if the user entered some changelists. |
69 Public method to check, if the user entered some changelists. |