eric7/VCS/StatusWidget.py

branch
eric7
changeset 8629
1b58dc890b87
parent 8627
ca3114b95866
child 8651
ce4c3c401482
--- a/eric7/VCS/StatusWidget.py	Fri Sep 24 16:30:28 2021 +0200
+++ b/eric7/VCS/StatusWidget.py	Fri Sep 24 16:34:15 2021 +0200
@@ -198,6 +198,8 @@
         
         self.__project.projectOpened.connect(self.__projectOpened)
         self.__project.projectClosed.connect(self.__projectClosed)
+        self.__project.projectPropertiesChanged.connect(
+            self.__setProjectSpellCheckData)
         self.__project.vcsCommitted.connect(self.__committed)
         self.__project.vcsStatusMonitorInfo.connect(self.__setInfoText)
         self.__project.vcsStatusMonitorAllData.connect(
@@ -291,6 +293,18 @@
         Private slot to handle the opening of a project.
         """
         self.__reloadButton.setEnabled(True)
+        self.__setProjectSpellCheckData()
+    
+    @pyqtSlot()
+    def __setProjectSpellCheckData(self):
+        """
+        Private slot to set the spell check properties of the
+        quick commit area.
+        """
+        pwl, pel = self.__project.getProjectDictionaries()
+        language = self.__project.getProjectSpellLanguage()
+        self.__quickCommitEdit.setLanguageWithPWL(
+            language, pwl or None, pel or None)
     
     @pyqtSlot()
     def __projectClosed(self):
@@ -371,10 +385,11 @@
         @type dict
         """
         # step 1: remember all currently checked entries
-        wasUnpopulated = self.__statusList.count() == 0
         checkedEntries = [itm.text() for itm in self.__getCommitableItems()]
         selectedEntries = [itm.text()
                            for itm in self.__statusList.selectedItems()]
+        knownEntries = [self.__statusList.item(row).text()
+                        for row in range(self.__statusList.count())]
         
         # step 2: clear the list and re-populate it with new data
         self.__statusList.clear()
@@ -391,7 +406,7 @@
                 if status in "AMOR":
                     itm.setFlags(
                         itm.flags() | Qt.ItemFlag.ItemIsUserCheckable)
-                    if wasUnpopulated or name in checkedEntries:
+                    if name in checkedEntries or name not in knownEntries:
                         itm.setCheckState(Qt.CheckState.Checked)
                     else:
                         itm.setCheckState(Qt.CheckState.Unchecked)

eric ide

mercurial