src/eric7/VCS/StatusWidget.py

Mon, 11 Dec 2023 14:56:35 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 11 Dec 2023 14:56:35 +0100
branch
eric7
changeset 10401
a68f6ac72783
parent 9653
e67609152c5e
child 10402
1b63ffeca110
permissions
-rw-r--r--

Modified some widgets of the left sidebar to allow a narrower size.

8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9576
diff changeset
3 # Copyright (c) 2021 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a VCS Status widget for the sidebar/toolbar.
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
10 import contextlib
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
11 import os
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
12
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
13 from PyQt6.QtCore import QEvent, Qt, pyqtSlot
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtWidgets import (
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
15 QAbstractItemView,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
16 QDialog,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
17 QGroupBox,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
18 QHBoxLayout,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
19 QLabel,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
20 QListView,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
21 QListWidget,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
22 QListWidgetItem,
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
23 QMenu,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
24 QSizePolicy,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
25 QToolButton,
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
26 QVBoxLayout,
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
27 QWidget,
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 )
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
30 from eric7 import Preferences, Utilities
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
31 from eric7.EricGui import EricPixmapCache
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
32 from eric7.EricWidgets import EricMessageBox
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
33 from eric7.EricWidgets.EricApplication import ericApp
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
34 from eric7.EricWidgets.EricListSelectionDialog import EricListSelectionDialog
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
35 from eric7.EricWidgets.EricSpellCheckedTextEdit import EricSpellCheckedTextEdit
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 class StatusWidget(QWidget):
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 Class implementing a VCS Status widget for the sidebar/toolbox.
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
42
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
43 StatusDataRole = Qt.ItemDataRole.UserRole + 1
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
44
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
45 def __init__(self, project, viewmanager, parent=None):
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @param project reference to the project object
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 @type Project
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
51 @param viewmanager reference to the viewmanager object
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
52 @type ViewManager
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @param parent reference to the parent widget (defaults to None)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 @type QWidget (optional)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 super().__init__(parent)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.setObjectName("VcsStatusWidget")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
58
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.__project = project
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
60 self.__vm = viewmanager
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.__layout = QVBoxLayout()
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.__layout.setObjectName("MainLayout")
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.__layout.setContentsMargins(0, 3, 0, 0)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
65
10401
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
66 # Create the info label part
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.__infoLabel = QLabel(self)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.__infoLabel.setSizePolicy(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69 QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
70 )
10401
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
71 self.__layout.addWidget(self.__infoLabel)
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
72
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
73 # Create the top area
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
74 self.__topLayout = QHBoxLayout()
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
75 self.__topLayout.setObjectName("topLayout")
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
76
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
77 self.__topLayout.addStretch()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
78
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
79 self.__commitToggleButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
80 self.__commitToggleButton.setIcon(EricPixmapCache.getIcon("check"))
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
81 self.__commitToggleButton.setToolTip(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82 self.tr("Press to toggle the commit markers")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
83 )
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
84 self.__commitToggleButton.clicked.connect(self.__toggleCheckMark)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
85 self.__topLayout.addWidget(self.__commitToggleButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
86
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
87 self.__commitButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
88 self.__commitButton.setIcon(EricPixmapCache.getIcon("vcsCommit"))
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
89 self.__commitButton.setToolTip(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
90 self.tr("Press to commit the marked entries with options")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
91 )
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
92 self.__commitButton.clicked.connect(self.__commit)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
93 self.__topLayout.addWidget(self.__commitButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
94
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
95 self.__addButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
96 self.__addButton.setIcon(EricPixmapCache.getIcon("vcsAdd"))
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
97 self.__addButton.setToolTip(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
98 self.tr("Press to add the selected, untracked entries")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
99 )
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
100 self.__addButton.clicked.connect(self.__addUntracked)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
101 self.__topLayout.addWidget(self.__addButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
102
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.__reloadButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
104 self.__reloadButton.setIcon(EricPixmapCache.getIcon("reload"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
105 self.__reloadButton.setToolTip(self.tr("Press to reload the status list"))
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 self.__reloadButton.clicked.connect(self.__reload)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 self.__topLayout.addWidget(self.__reloadButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
109 self.__actionsButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
110 self.__actionsButton.setIcon(EricPixmapCache.getIcon("actionsToolButton"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
111 self.__actionsButton.setToolTip(self.tr("Select action from menu"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112 self.__actionsButton.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup)
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
113 self.__topLayout.addWidget(self.__actionsButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
114
10401
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
115 self.__topLayout.addStretch()
a68f6ac72783 Modified some widgets of the left sidebar to allow a narrower size.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
116
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 self.__layout.addLayout(self.__topLayout)
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
118 ###################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
119
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
120 # Create the middle part
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.__statusList = QListWidget(self)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.__statusList.setAlternatingRowColors(True)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 self.__statusList.setSortingEnabled(True)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 self.__statusList.setViewMode(QListView.ViewMode.ListMode)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 self.__statusList.setTextElideMode(Qt.TextElideMode.ElideLeft)
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
126 self.__statusList.setSelectionMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
127 QAbstractItemView.SelectionMode.ExtendedSelection
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
128 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
129 self.__statusList.itemSelectionChanged.connect(self.__updateEnabledStates)
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
130 self.__statusList.itemDoubleClicked.connect(self.__itemDoubleClicked)
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
131 self.__statusList.itemChanged.connect(self.__updateEnabledStates)
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 self.__layout.addWidget(self.__statusList)
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
133 ###################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
134
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
135 # create the Quick Commit area
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
136 self.__quickCommitGroup = QGroupBox(self.tr("Quick Commit"), self)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
137 self.__quickCommitLayout = QVBoxLayout()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
138 self.__quickCommitEdit = EricSpellCheckedTextEdit(self)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
139 self.__quickCommitEdit.setSizePolicy(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140 QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141 )
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
142 self.__quickCommitEdit.setMaximumHeight(100)
8676
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
143 self.__quickCommitEdit.setTabChangesFocus(True)
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
144 self.__quickCommitEdit.installEventFilter(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
145 self.__quickCommitEdit.textChanged.connect(self.__quickCommitEditTextChanged)
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
146 self.__quickCommitLayout.addWidget(self.__quickCommitEdit)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
147
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
148 self.__quickCommitLayout2 = QHBoxLayout()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
149 self.__quickCommitLayout2.addStretch()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
150
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
151 self.__quickCommitHistoryButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
152 self.__quickCommitHistoryButton.setIcon(EricPixmapCache.getIcon("history"))
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
153 self.__quickCommitHistoryButton.setToolTip(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
154 self.tr("Select commit message from previous commits")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
155 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
156 self.__quickCommitHistoryButton.clicked.connect(self.__selectQuickCommitMessage)
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
157 self.__quickCommitLayout2.addWidget(self.__quickCommitHistoryButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
158
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
159 self.__quickCommitHistoryClearButton = QToolButton(self)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
160 self.__quickCommitHistoryClearButton.setIcon(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
161 EricPixmapCache.getIcon("historyClear")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
162 )
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
163 self.__quickCommitHistoryClearButton.setToolTip(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
164 self.tr("Clear the list of saved commit messages")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
165 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
166 self.__quickCommitHistoryClearButton.clicked.connect(self.__clearCommitMessages)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
167 self.__quickCommitLayout2.addWidget(self.__quickCommitHistoryClearButton)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
168
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
169 self.__quickCommitButton = QToolButton(self)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
170 self.__quickCommitButton.setIcon(EricPixmapCache.getIcon("vcsCommit"))
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
171 self.__quickCommitButton.setToolTip(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
172 self.tr("Press to commit the marked entries")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
173 )
8627
ca3114b95866 Fixed another issue introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8626
diff changeset
174 self.__quickCommitButton.clicked.connect(self.__quickCommit)
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
175 self.__quickCommitLayout2.addWidget(self.__quickCommitButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
177 self.__quickCommitLayout.addLayout(self.__quickCommitLayout2)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
178 self.__quickCommitGroup.setLayout(self.__quickCommitLayout)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
179 self.__layout.addWidget(self.__quickCommitGroup)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
180 ###################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
181
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 self.setLayout(self.__layout)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
183
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
184 self.__statusIcons = {
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
185 "A": "vcs-added", # added
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
186 "M": "vcs-modified", # modified
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
187 "O": "vcs-removed", # removed
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
188 "R": "vcs-renamed", # renamed
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
189 "U": "vcs-update-required", # update needed
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
190 "Z": "vcs-conflicting", # conflict
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
191 "?": "vcs-untracked", # not tracked
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
192 "!": "vcs-missing", # missing
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
193 }
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
194 self.__statusTexts = {
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
195 "A": self.tr("added"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
196 "M": self.tr("modified"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
197 "O": self.tr("removed"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
198 "R": self.tr("renamed"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
199 "U": self.tr("needs update"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
200 "Z": self.tr("conflict"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
201 "?": self.tr("not tracked"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
202 "!": self.tr("missing"),
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
203 }
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
204
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
205 self.__initActionsMenu()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
206
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
207 self.__reset()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
208
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 if self.__project.isOpen():
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 self.__projectOpened()
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 else:
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 self.__projectClosed()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
213
8677
2e3d02a0f0b6 Modified the VCS status widget to automatically select added items for commit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8676
diff changeset
214 self.__addedItemsText = []
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
215
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 self.__project.projectOpened.connect(self.__projectOpened)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 self.__project.projectClosed.connect(self.__projectClosed)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
218 self.__project.projectPropertiesChanged.connect(self.__setProjectSpellCheckData)
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
219 self.__project.vcsCommitted.connect(self.__committed)
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 self.__project.vcsStatusMonitorInfo.connect(self.__setInfoText)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
221 self.__project.vcsStatusMonitorAllData.connect(self.__processStatusData)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
222
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
223 def __initActionsMenu(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
224 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
225 Private method to initialize the actions menu.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
226 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
227 self.__actionsMenu = QMenu()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
228 self.__actionsMenu.setToolTipsVisible(True)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
229 self.__actionsMenu.aboutToShow.connect(self.__showActionsMenu)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
230
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
231 self.__commitAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
232 EricPixmapCache.getIcon("vcsCommit"), self.tr("Commit"), self.__commit
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
233 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
234 self.__commitAct.setToolTip(self.tr("Commit the marked entries with options"))
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
235 self.__commitSelectAct = self.__actionsMenu.addAction(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
236 self.tr("Select all for commit"), self.__commitSelectAll
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
237 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
238 self.__commitDeselectAct = self.__actionsMenu.addAction(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
239 self.tr("Unselect all from commit"), self.__commitDeselectAll
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
240 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
241
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
242 self.__actionsMenu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
243
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
244 self.__addAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
245 EricPixmapCache.getIcon("vcsAdd"), self.tr("Add"), self.__addUntracked
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
246 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
247 self.__addAct.setToolTip(self.tr("Add the selected, untracked entries"))
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
248 self.__addAllAct = self.__actionsMenu.addAction(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
249 self.tr("Add All"), self.__addAllUntracked
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
250 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
251 self.__addAllAct.setToolTip(self.tr("Add all untracked entries"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
252
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
253 self.__actionsMenu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
254
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
255 self.__diffAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
256 EricPixmapCache.getIcon("vcsDiff"), self.tr("Differences"), self.__diff
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
257 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
258 self.__diffAct.setToolTip(
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9573
diff changeset
259 self.tr("Shows the differences of the selected entry in a separate dialog")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
260 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
261 self.__sbsDiffAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
262 EricPixmapCache.getIcon("vcsSbsDiff"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
263 self.tr("Differences Side-By-Side"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
264 self.__sbsDiff,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
265 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
266 self.__sbsDiffAct.setToolTip(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
267 self.tr(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
268 "Shows the differences of the selected entry side-by-side in"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
269 " a separate dialog"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
270 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
271 )
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
272 self.__diffAllAct = self.__actionsMenu.addAction(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
273 self.tr("All Differences"), self.__diffAll
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
274 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
275 self.__diffAllAct.setToolTip(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
276 self.tr("Shows the differences of all entries in a separate dialog")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
277 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
278
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
279 self.__actionsMenu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
280
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
281 self.__revertAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
282 EricPixmapCache.getIcon("vcsRevert"), self.tr("Revert"), self.__revert
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
283 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
284 self.__revertAct.setToolTip(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
285 self.tr("Reverts the changes of the selected files")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
286 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
287
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
288 self.__actionsMenu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
289
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
290 self.__forgetAct = self.__actionsMenu.addAction(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
291 self.tr("Forget Missing"), self.__forgetMissing
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
292 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
293 self.__forgetAct.setToolTip(self.tr("Forgets about the selected missing files"))
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
294 self.__restoreAct = self.__actionsMenu.addAction(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
295 self.tr("Restore Missing"), self.__restoreMissing
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
296 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
297 self.__restoreAct.setToolTip(self.tr("Restores the selected missing files"))
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
298 self.__actionsMenu.addSeparator()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
299
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
300 self.__editAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
301 EricPixmapCache.getIcon("open"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
302 self.tr("Edit Conflict"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
303 self.__editConflict,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
304 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
305 self.__editAct.setToolTip(self.tr("Edit the selected conflicting file"))
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
306 self.__resolvedAct = self.__actionsMenu.addAction(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
307 EricPixmapCache.getIcon("vcsResolved"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
308 self.tr("Conflict Resolved"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
309 self.__conflictResolved,
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
310 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
311 self.__resolvedAct.setToolTip(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
312 self.tr("Mark the selected conflicting file as resolved")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
313 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
314
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
315 self.__actionsButton.setMenu(self.__actionsMenu)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
316
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 @pyqtSlot()
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 def __projectOpened(self):
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 Private slot to handle the opening of a project.
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 self.__reloadButton.setEnabled(True)
8629
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
323 self.__setProjectSpellCheckData()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
324
8629
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
325 @pyqtSlot()
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
326 def __setProjectSpellCheckData(self):
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
327 """
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
328 Private slot to set the spell check properties of the
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
329 quick commit area.
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
330 """
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
331 pwl, pel = self.__project.getProjectDictionaries()
1b58dc890b87 Extended the Quick Commit (and other commit alike dialogs) to respect the project spell check language settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8627
diff changeset
332 language = self.__project.getProjectSpellLanguage()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
333 self.__quickCommitEdit.setLanguageWithPWL(language, pwl or None, pel or None)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
334
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 @pyqtSlot()
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 def __projectClosed(self):
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 Private slot to handle the closing of a project.
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 self.__infoLabel.setText(self.tr("No project open."))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
341
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 self.__reloadButton.setEnabled(False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
343
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
344 self.__reset()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
345
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 @pyqtSlot(str)
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 def __setInfoText(self, info):
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 Private slot to set the info label text.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
350
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 @param info text to be shown
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 @type str
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 self.__infoLabel.setText(info)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
355
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 @pyqtSlot()
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 def __reload(self):
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 Private slot to reload the status list.
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 self.__project.checkVCSStatus()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
362
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
363 def __reset(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
364 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
365 Private method to reset the widget to default.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
366 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
367 self.__statusList.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
368
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
369 self.__commitToggleButton.setEnabled(False)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
370 self.__commitButton.setEnabled(False)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
371 self.__addButton.setEnabled(False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
372
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
373 self.__quickCommitEdit.clear()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
374 self.__quickCommitGroup.setEnabled(False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
375
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
376 def __updateEnabledStates(self):
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
377 """
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
378 Private method to set the enabled states depending on the list state.
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
379 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
380 modified = len(self.__getModifiedItems())
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
381 unversioned = len(self.__getSelectedUnversionedItems())
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
382 commitable = len(self.__getCommitableItems())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
383
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
384 self.__commitToggleButton.setEnabled(modified)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
385 self.__commitButton.setEnabled(commitable)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
386 self.__addButton.setEnabled(unversioned)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
387
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
388 self.__quickCommitGroup.setEnabled(commitable)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
389
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
390 @pyqtSlot(dict)
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 def __processStatusData(self, data):
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 """
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 Private slot to process the status data emitted by the project.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
394
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 Each entry of the status data consists of a status flag and and the
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 path relative to the project directory starting with the third column.
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 The known status flags are:
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 <ul>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 <li>"A" path was added but not yet committed</li>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 <li>"M" path has local changes</li>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401 <li>"O" path was removed</li>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 <li>"R" path was deleted and then re-added</li>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 <li>"U" path needs an update</li>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 <li>"Z" path contains a conflict</li>
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
405 <li>"?" path is not tracked</li>
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
406 <li>"!" path is missing</li>
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 <li>" " path is back at normal</li>
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 </ul>
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
409
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
410 @param data dictionary containing the status data
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
411 @type dict
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 """
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
413 # step 1: remember all currently checked entries
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
414 checkedEntries = [itm.text() for itm in self.__getCommitableItems()]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
415 selectedEntries = [itm.text() for itm in self.__statusList.selectedItems()]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
416 knownEntries = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
417 self.__statusList.item(row).text()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
418 for row in range(self.__statusList.count())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
419 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
420
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
421 # step 2: clear the list and re-populate it with new data
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
422 self.__statusList.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
423
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
424 block = self.__statusList.blockSignals(True)
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
425 for name, status in data.items():
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
426 if status:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
427 itm = QListWidgetItem(name, self.__statusList)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
428 with contextlib.suppress(KeyError):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
429 itm.setToolTip(self.__statusTexts[status])
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
430 itm.setIcon(EricPixmapCache.getIcon(self.__statusIcons[status]))
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
431 itm.setData(self.StatusDataRole, status)
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
432 if status in "AMOR":
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
433 itm.setFlags(itm.flags() | Qt.ItemFlag.ItemIsUserCheckable)
8677
2e3d02a0f0b6 Modified the VCS status widget to automatically select added items for commit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8676
diff changeset
434 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
435 name in checkedEntries
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
436 or name not in knownEntries
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
437 or name in self.__addedItemsText
8677
2e3d02a0f0b6 Modified the VCS status widget to automatically select added items for commit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8676
diff changeset
438 ):
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
439 itm.setCheckState(Qt.CheckState.Checked)
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
440 else:
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
441 itm.setCheckState(Qt.CheckState.Unchecked)
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
442 else:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
443 itm.setFlags(itm.flags() & ~Qt.ItemFlag.ItemIsUserCheckable)
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
444 itm.setSelected(name in selectedEntries)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
445
8619
2dc55ddafc68 Added the forgotten VCS status widget source.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 self.__statusList.sortItems(Qt.SortOrder.AscendingOrder)
8626
fa4ec5a82698 Fixed some issues introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8624
diff changeset
447 self.__statusList.blockSignals(block)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
448
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
449 self.__updateEnabledStates()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
450
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
451 @pyqtSlot()
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
452 def __toggleCheckMark(self):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
453 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
454 Private slot to toggle the check marks.
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
455 """
8906
dd71fc3619b7 VCS Status Widget
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
456 itemList = (
dd71fc3619b7 VCS Status Widget
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
457 self.__statusList.selectedItems()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
458 if len(self.__statusList.selectedItems())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
459 else [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
460 self.__statusList.item(row) for row in range(self.__statusList.count())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
461 ]
8906
dd71fc3619b7 VCS Status Widget
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
462 )
dd71fc3619b7 VCS Status Widget
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
463 for itm in itemList:
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
464 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
465 itm.flags() & Qt.ItemFlag.ItemIsUserCheckable
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
466 == Qt.ItemFlag.ItemIsUserCheckable
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
467 ):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
468 if itm.checkState() == Qt.CheckState.Unchecked:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
469 itm.setCheckState(Qt.CheckState.Checked)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
470 else:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
471 itm.setCheckState(Qt.CheckState.Unchecked)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
472
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
473 def __setCheckMark(self, checked):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
474 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
475 Private method to set or unset all check marks.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
476
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
477 @param checked check mark state to be set
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
478 @type bool
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
479 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
480 for row in range(self.__statusList.count()):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
481 itm = self.__statusList.item(row)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
482 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
483 itm.flags() & Qt.ItemFlag.ItemIsUserCheckable
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
484 == Qt.ItemFlag.ItemIsUserCheckable
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
485 ):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
486 if checked:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
487 itm.setCheckState(Qt.CheckState.Checked)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
488 else:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
489 itm.setCheckState(Qt.CheckState.Unchecked)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
490
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
491 @pyqtSlot()
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
492 def __commit(self):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
493 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
494 Private slot to handle the commit button.
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
495 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
496 projectPath = self.__project.getProjectPath()
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
497 names = []
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
498
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
499 for row in range(self.__statusList.count()):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
500 itm = self.__statusList.item(row)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
501 if itm.checkState() == Qt.CheckState.Checked:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
502 names.append(os.path.join(projectPath, itm.text()))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
503
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
504 if not names:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
505 EricMessageBox.information(
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
506 self,
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
507 self.tr("Commit"),
9573
9960d19d66b5 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
508 self.tr("""There are no entries selected to be committed."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
509 )
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
510 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
511
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
512 if Preferences.getVCS("AutoSaveFiles"):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
513 vm = ericApp().getObject("ViewManager")
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
514 for name in names:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
515 vm.saveEditor(name)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
516 vcs = self.__project.getVcs()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
517 vcs and vcs.vcsCommit(names, "")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
518
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
519 @pyqtSlot()
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
520 def __committed(self):
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
521 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
522 Private slot called after the commit has been completed.
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
523 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
524 self.__reload()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
525
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
526 @pyqtSlot()
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
527 def __commitSelectAll(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
528 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
529 Private slot to select all entries for commit.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
530 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
531 self.__setCheckMark(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
532
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
533 @pyqtSlot()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
534 def __commitDeselectAll(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
535 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
536 Private slot to deselect all entries from commit.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
537 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
538 self.__setCheckMark(False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
539
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
540 @pyqtSlot()
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
541 def __addUntracked(self, allItems=False):
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
542 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
543 Private slot to add the selected untracked entries.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
544
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
545 @param allItems flag indicating to show the differences of all files
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
546 (defaults to False)
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
547 @type bool (optional)
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
548 """
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
549 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
550
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
551 names = (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
552 [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
553 os.path.join(projectPath, itm.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
554 for itm in self.__getUnversionedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
555 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
556 if allItems
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
557 else [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
558 os.path.join(projectPath, itm.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
559 for itm in self.__getSelectedUnversionedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
560 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
561 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
562
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
563 if not names:
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
564 EricMessageBox.information(
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
565 self,
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
566 self.tr("Add"),
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9573
diff changeset
567 self.tr("""There are no unversioned entries available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
568 )
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
569 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
570
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
571 self.__addedItemsText = (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
572 [itm.text() for itm in self.__getUnversionedItems()]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
573 if allItems
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
574 else [itm.text() for itm in self.__getSelectedUnversionedItems()]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
575 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
576
8620
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
577 vcs = self.__project.getVcs()
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
578 vcs and vcs.vcsAdd(names)
84f7f7867b5f Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8619
diff changeset
579 self.__reload()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
580
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
581 @pyqtSlot(QListWidgetItem)
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
582 def __itemDoubleClicked(self, itm):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
583 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
584 Private slot to handle double clicking an item.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
585
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
586 @param itm reference to the double clicked item
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
587 @type QListWidgetItem
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
588 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
589 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
590
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
591 if itm.data(self.StatusDataRole) in "MZ":
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
592 # modified and conflicting items
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
593 name = os.path.join(projectPath, itm.text())
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
594 vcs = self.__project.getVcs()
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
595 vcs and vcs.vcsDiff(name)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
596
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
597 ###########################################################################
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
598 ## Menu handling methods
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
599 ###########################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
600
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
601 def __showActionsMenu(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
602 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
603 Private slot to prepare the actions button menu before it is shown.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
604 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
605 modified = len(self.__getSelectedModifiedItems())
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
606 allModified = len(self.__getModifiedItems())
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
607 unversioned = len(self.__getSelectedUnversionedItems())
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
608 allUnversioned = len(self.__getUnversionedItems())
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
609 missing = len(self.__getMissingItems())
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
610 commitable = len(self.__getCommitableItems())
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
611 commitableUnselected = len(self.__getCommitableUnselectedItems())
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
612 conflicting = len(self.__getSelectedConflictingItems())
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
613
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
614 self.__addAct.setEnabled(unversioned)
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
615 self.__addAllAct.setEnabled(allUnversioned)
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
616 self.__diffAct.setEnabled(modified)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
617 self.__sbsDiffAct.setEnabled(modified == 1)
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
618 self.__diffAllAct.setEnabled(allModified)
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
619 self.__revertAct.setEnabled(modified)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
620 self.__forgetAct.setEnabled(missing)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
621 self.__restoreAct.setEnabled(missing)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
622 self.__commitAct.setEnabled(commitable)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
623 self.__commitSelectAct.setEnabled(commitableUnselected)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
624 self.__commitDeselectAct.setEnabled(commitable)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
625 self.__editAct.setEnabled(conflicting == 1)
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
626 self.__resolvedAct.setEnabled(conflicting)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
627
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
628 def __getCommitableItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
629 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
630 Private method to retrieve all entries the user wants to commit.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
631
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
632 @return list of all items, the user has checked
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
633 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
634 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
635 commitableItems = []
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
636 for row in range(self.__statusList.count()):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
637 itm = self.__statusList.item(row)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
638 if itm.checkState() == Qt.CheckState.Checked:
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
639 commitableItems.append(itm)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
640 return commitableItems
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
641
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
642 def __getCommitableUnselectedItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
643 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
644 Private method to retrieve all entries the user may commit but hasn't
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
645 selected.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
646
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
647 @return list of all items, the user has checked
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
648 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
649 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
650 items = []
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
651 for row in range(self.__statusList.count()):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
652 itm = self.__statusList.item(row)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
653 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
654 itm.flags() & Qt.ItemFlag.ItemIsUserCheckable
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
655 == Qt.ItemFlag.ItemIsUserCheckable
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
656 ) and itm.checkState() == Qt.CheckState.Unchecked:
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
657 items.append(itm)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
658 return items
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
659
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
660 def __getModifiedItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
661 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
662 Private method to retrieve all entries, that have a modified status.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
663
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
664 @return list of all items with a modified status
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
665 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
666 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
667 items = []
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
668 for row in range(self.__statusList.count()):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
669 itm = self.__statusList.item(row)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
670 if itm.data(self.StatusDataRole) in "AMOR":
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
671 items.append(itm)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
672 return items
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
673
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
674 def __getSelectedModifiedItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
675 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
676 Private method to retrieve all selected entries, that have a modified
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
677 status.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
678
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
679 @return list of all selected entries with a modified status
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
680 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
681 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
682 return [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
683 itm
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
684 for itm in self.__statusList.selectedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
685 if itm.data(self.StatusDataRole) in "AMOR"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
686 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
687
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
688 def __getUnversionedItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
689 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
690 Private method to retrieve all entries, that have an unversioned
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
691 status.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
692
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
693 @return list of all items with an unversioned status
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
694 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
695 """
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
696 items = []
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
697 for row in range(self.__statusList.count()):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
698 itm = self.__statusList.item(row)
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
699 if itm.data(self.StatusDataRole) == "?":
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
700 items.append(itm)
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
701 return items
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
702
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
703 def __getSelectedUnversionedItems(self):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
704 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
705 Private method to retrieve all selected entries, that have an
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
706 unversioned status.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
707
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
708 @return list of all items with an unversioned status
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
709 @rtype list of QListWidgetItem
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
710 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
711 return [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
712 itm
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
713 for itm in self.__statusList.selectedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
714 if itm.data(self.StatusDataRole) == "?"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
715 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
716
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
717 def __getMissingItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
718 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
719 Private method to retrieve all entries, that have a missing status.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
720
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
721 @return list of all items with a missing status
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
722 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
723 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
724 return [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
725 itm
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
726 for itm in self.__statusList.selectedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
727 if itm.data(self.StatusDataRole) == "!"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
728 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
729
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
730 def __getSelectedConflictingItems(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
731 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
732 Private method to retrieve all selected entries, that have a conflict
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
733 status.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
734
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
735 @return list of all selected entries with a conflict status
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
736 @rtype list of QListWidgetItem
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
737 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
738 return [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
739 itm
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
740 for itm in self.__statusList.selectedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
741 if itm.data(self.StatusDataRole) == "Z"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
742 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
743
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
744 @pyqtSlot()
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
745 def __addAllUntracked(self):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
746 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
747 Private slot to handle the Add All action menu entry.
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
748 """
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
749 self.__addUntracked(allItems=True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
750
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
751 @pyqtSlot()
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
752 def __diff(self, allItems=False):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
753 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
754 Private slot to handle the Differences action menu entry.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
755
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
756 @param allItems flag indicating to show the differences of all files
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
757 (defaults to False)
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
758 @type bool (optional)
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
759 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
760 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
761
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
762 names = (
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
763 [os.path.join(projectPath, itm.text()) for itm in self.__getModifiedItems()]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
764 if allItems
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
765 else [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
766 os.path.join(projectPath, itm.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
767 for itm in self.__getSelectedModifiedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
768 ]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
769 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
770 if not names:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
771 EricMessageBox.information(
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
772 self,
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
773 self.tr("Differences"),
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9573
diff changeset
774 self.tr("""There are no uncommitted changes available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
775 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
776 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
777
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
778 vcs = self.__project.getVcs()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
779 vcs and vcs.vcsDiff(names)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
780
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
781 @pyqtSlot()
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
782 def __diffAll(self):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
783 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
784 Private slot to handle the All Differences action menu entry.
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
785 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
786 self.__diff(allItems=True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
787
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
788 @pyqtSlot()
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
789 def __sbsDiff(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
790 """
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
791 Private slot to handle the Side-By-Side Differences action menu entry.
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
792 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
793 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
794
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
795 names = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
796 os.path.join(projectPath, itm.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
797 for itm in self.__getSelectedModifiedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
798 ]
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
799 if not names:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
800 EricMessageBox.information(
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
801 self,
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
802 self.tr("Differences Side-By-Side"),
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9573
diff changeset
803 self.tr("""There are no uncommitted changes available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
804 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
805 return
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
806 elif len(names) > 1:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
807 EricMessageBox.information(
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
808 self,
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
809 self.tr("Differences Side-By-Side"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
810 self.tr(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
811 """Only one file with uncommitted changes"""
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
812 """ must be selected."""
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
813 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
814 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
815 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
816
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
817 vcs = self.__project.getVcs()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
818 vcs and vcs.vcsSbsDiff(names[0])
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
819
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
820 @pyqtSlot()
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
821 def __revert(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
822 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
823 Private slot to handle the Revert action menu entry.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
824 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
825 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
826
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
827 names = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
828 os.path.join(projectPath, itm.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
829 for itm in self.__getSelectedModifiedItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
830 ]
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
831 if not names:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
832 EricMessageBox.information(
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
833 self,
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
834 self.tr("Revert"),
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9573
diff changeset
835 self.tr("""There are no uncommitted changes available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
836 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
837 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
838
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
839 vcs = self.__project.getVcs()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
840 vcs and vcs.vcsRevert(names)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
841 self.__reload()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
842
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
843 @pyqtSlot()
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
844 def __forgetMissing(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
845 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
846 Private slot to handle the Forget action menu entry.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
847 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
848 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
849
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
850 names = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
851 os.path.join(projectPath, itm.text()) for itm in self.__getMissingItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
852 ]
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
853 if not names:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
854 EricMessageBox.information(
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
855 self,
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
856 self.tr("Forget Missing"),
9573
9960d19d66b5 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
857 self.tr("""There are no missing entries available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
858 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
859 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
860
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
861 vcs = self.__project.getVcs()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
862 vcs and vcs.vcsForget(names)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
863 self.__reload()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
864
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
865 @pyqtSlot()
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
866 def __restoreMissing(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
867 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
868 Private slot to handle the Restore Missing context menu entry.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
869 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
870 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
871
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
872 names = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
873 os.path.join(projectPath, itm.text()) for itm in self.__getMissingItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
874 ]
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
875 if not names:
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
876 EricMessageBox.information(
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
877 self,
8651
ce4c3c401482 Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8629
diff changeset
878 self.tr("Restore Missing"),
9573
9960d19d66b5 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
879 self.tr("""There are no missing entries available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
880 )
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
881 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
882
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
883 vcs = self.__project.getVcs()
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
884 vcs and vcs.vcsRevert(names)
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
885 self.__reload()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
886
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
887 @pyqtSlot()
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
888 def __editConflict(self):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
889 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
890 Private slot to handle the Edit Conflict action menu entry.
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
891 """
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
892 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
893
8621
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
894 itm = self.__getSelectedConflictingItems()[0]
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
895 filename = os.path.join(projectPath, itm.text())
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
896 if Utilities.MimeTypes.isTextFile(filename):
8c9f41115c04 Continued implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8620
diff changeset
897 self.__vm.getEditor(filename)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
898
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
899 @pyqtSlot()
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
900 def __conflictResolved(self):
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
901 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
902 Private slot to handle the Conflict Resolved action menu entry.
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
903 """
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
904 projectPath = self.__project.getProjectPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
905
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
906 names = [
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
907 os.path.join(projectPath, itm.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
908 for itm in self.__getSelectedConflictingItems()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
909 ]
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
910 if not names:
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
911 EricMessageBox.information(
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
912 self,
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
913 self.tr("Conflict Resolved"),
9576
be9f8e7e42e0 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9573
diff changeset
914 self.tr("""There are no conflicting entries available/selected."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
915 )
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
916 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
917
8622
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
918 vcs = self.__project.getVcs()
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
919 vcs and vcs.vcsResolved(names)
149d51870ce8 Finished implementing the VCS status widget for the left side.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8621
diff changeset
920 self.__reload()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
921
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
922 #######################################################################
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
923 ## Quick Commit handling methods
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
924 #######################################################################
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
925
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
926 @pyqtSlot()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
927 def __selectQuickCommitMessage(self):
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
928 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
929 Private slot to select a commit message from the list of
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
930 saved messages.
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
931 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
932 vcs = self.__project.getVcs()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
933 if vcs:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
934 commitMessages = vcs.vcsCommitMessages()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
935 dlg = EricListSelectionDialog(
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
936 commitMessages,
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
937 selectionMode=QAbstractItemView.SelectionMode.SingleSelection,
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
938 title=self.tr("Quick Commit"),
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
939 message=self.tr("Select your commit message:"),
8670
12e7fbf2445a Added a double click instant selection to the Eric List Selection Dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8651
diff changeset
940 doubleClickOk=True,
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
941 parent=self,
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
942 )
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
943 if dlg.exec() == QDialog.DialogCode.Accepted:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
944 selection = dlg.getSelection()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
945 if selection:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
946 self.__quickCommitEdit.setPlainText(selection[0])
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
947
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
948 @pyqtSlot()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
949 def __clearCommitMessages(self):
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
950 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
951 Private slot to clear the list of saved commit messages.
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
952 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
953 vcs = self.__project.getVcs()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
954 vcs and vcs.vcsClearCommitMessages()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
955
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
956 @pyqtSlot()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
957 def __quickCommit(self):
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
958 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
959 Private slot to commit all marked entries with the entered
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
960 commit message.
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
961 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
962 projectPath = self.__project.getProjectPath()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
963 names = []
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
964
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
965 for row in range(self.__statusList.count()):
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
966 itm = self.__statusList.item(row)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
967 if itm.checkState() == Qt.CheckState.Checked:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
968 names.append(os.path.join(projectPath, itm.text()))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
969
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
970 if not names:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
971 EricMessageBox.information(
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
972 self,
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
973 self.tr("Commit"),
9573
9960d19d66b5 Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
974 self.tr("""There are no entries selected to be committed."""),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
975 )
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
976 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
977
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
978 if Preferences.getVCS("AutoSaveFiles"):
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
979 vm = ericApp().getObject("ViewManager")
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
980 for name in names:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
981 vm.saveEditor(name)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
982
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
983 commitMessage = self.__quickCommitEdit.toPlainText()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
984 vcs = self.__project.getVcs()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
985 if vcs:
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
986 vcs.vcsCommit(names, commitMessage, noDialog=True)
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
987 vcs.vcsAddCommitMessage(commitMessage)
8627
ca3114b95866 Fixed another issue introduced by the recent addition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8626
diff changeset
988 self.__quickCommitEdit.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
989
8624
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
990 @pyqtSlot()
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
991 def __quickCommitEditTextChanged(self):
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
992 """
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
993 Private slot to react upon changes of the quick commit text.
5192a2592324 Started implementing a 'Quick Commit' function for the new VCS Status List widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8622
diff changeset
994 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
995 self.__quickCommitButton.setEnabled(bool(self.__quickCommitEdit.toPlainText()))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
996
8676
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
997 def eventFilter(self, obj, evt):
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
998 """
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
999 Public method to process some events for the Commit edit.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
1000
8676
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1001 @param obj reference to the object the event was meant for
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1002 @type QObject
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1003 @param evt reference to the event object
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1004 @type QEvent
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1005 @return flag to indicate that the event was handled
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1006 @rtype bool
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1007 """
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1008 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
1009 obj is self.__quickCommitEdit
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
1010 and evt.type() == QEvent.Type.KeyPress
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
1011 and evt.key() in (Qt.Key.Key_Return, Qt.Key.Key_Enter)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
1012 and evt.modifiers() == Qt.KeyboardModifier.ControlModifier
8676
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1013 ):
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1014 # Ctrl-Enter or Ctrl-Return => commit
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1015 self.__quickCommitButton.animateClick()
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1016 return True
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1017 else:
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1018 # standard event processing
3348ac06e4bb Added code to the VCS Status widget to commit by pressing Ctrl+Enter or Ctrl+Return in the Quick Commit entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8670
diff changeset
1019 return super().eventFilter(obj, evt)

eric ide

mercurial