diff -r dcdf0074ad39 -r 1b58dc890b87 eric7/VCS/StatusWidget.py --- 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)