--- a/src/eric7/EricWidgets/EricPasswordMeter.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/EricWidgets/EricPasswordMeter.py Wed Jul 13 14:55:47 2022 +0200 @@ -16,27 +16,28 @@ """ Class implementing a custom widget indicating the strength of a password. """ + def __init__(self, parent=None): """ Constructor - + @param parent reference to the parent widget (QWidget) """ super().__init__(parent) - + super().setTextVisible(False) super().setMaximum(100) self.__increment = 100 // (PasswordChecker.Complexity_VeryStrong + 1) - + self.__indicatorColors = [ - "#ff0000", # red - "#ff8800", # orange - "#ffff00", # yellow - "#ccff00", # yellow green - "#00ff00", # green + "#ff0000", # red + "#ff8800", # orange + "#ffff00", # yellow + "#ccff00", # yellow green + "#00ff00", # green ] self.__noIndicator = "#ffffff" - + self.__styleSheetTemplate = ( "QProgressBar {{" " border: 2px solid black;" @@ -45,56 +46,56 @@ "QProgressBar::chunk:horizontal {{" " background-color: {0}; }}" ) - self.setStyleSheet( - self.__styleSheetTemplate.format(self.__noIndicator)) - + self.setStyleSheet(self.__styleSheetTemplate.format(self.__noIndicator)) + def checkPasswordStrength(self, password): """ Public slot to check the password strength and update the progress bar accordingly. - + @param password password to be checked (string) """ strength = PasswordChecker().checkPassword(password) - self.setStyleSheet(self.__styleSheetTemplate.format( - self.__indicatorColors[strength])) - super().setValue( - (strength + 1) * self.__increment) - + self.setStyleSheet( + self.__styleSheetTemplate.format(self.__indicatorColors[strength]) + ) + super().setValue((strength + 1) * self.__increment) + def setValue(self, value): """ Public method to set the value. - + Overwritten to do nothing. - + @param value value (integer) """ pass - + def setMaximum(self, value): """ Public method to set the maximum value. - + Overwritten to do nothing. - + @param value maximum value (integer) """ pass - + def setMinimum(self, value): """ Public method to set the minimal value. - + Overwritten to do nothing. - + @param value minimum value (integer) """ pass + if __name__ == "__main__": import sys from PyQt6.QtWidgets import QApplication - + app = QApplication(sys.argv) meter = EricPasswordMeter() meter.show()