def on_entry_changed(self, entry: Gtk.Entry) -> None: """React to the text of an entry changing. Removes the 'error' CSS class from the entry. Args: entry (Gtk.Entry): The changed entry """ entry.get_style_context().remove_class("error")
def _validate_completed(self, entry: Gtk.Entry, focus: Gdk.EventFocus): text = entry.get_text() context = entry.get_style_context() error = self.find_completed_errors(text) if error: context.add_class('error') self.set_warning_text(error) self._show_warning() else: self._hide_warning_slowly() context.remove_class('error')
def _validate(self, entry: Gtk.Entry): text = entry.get_text() context = entry.get_style_context() error = self.find_errors_in_progress(text) if error is not None: self.valid = False self.warn = True self.set_warning_text(error) self._show_warning() context.add_class('error') else: self.valid = True self.warn = False self._hide_warning() context.remove_class('error')
def __init__(self, *args, **kwargs): Window.__init__(self, *args, **kwargs) icon = lambda x: IconTheme.get_default().load_icon((name), x, 0) icons = [icon(size) for size in [32, 48, 64, 96]] self.set_icon_list(icons) self.credentials.set_header_func(self.update_header) self.languages.set_header_func(self.update_header) for key in self.config.data['credentials']: row = ListBoxRow() grid = Grid() grid.props.column_homogeneous = True label = Label() label.set_text(key) label.props.halign = Align(1) context = label.get_style_context() resource = "/ml/prevete/Daty/gtk/value.css" set_style(context, resource, "dim-label", True) entry = Entry() entry.set_text(self.config.data['credentials'][key]) context = entry.get_style_context() set_style(context, resource, "flat", True) grid.attach(label, 0, 0, 1, 1) grid.attach(entry, 1, 0, 2, 1) row.add(grid) self.credentials.add(row) self.credentials.show_all() query = """SELECT ?item ?itemLabel ?c { ?item wdt:P424 ?c . MINUS{?item wdt:P31/wdt:P279* wd:Q14827288} #exclude Wikimedia projects MINUS{?item wdt:P31/wdt:P279* wd:Q17442446} #exclude Wikimedia internal stuff SERVICE wikibase:label { bd:serviceParam wikibase:language "your_first_language". } } """ query = sub("your_first_language", self.config.data['languages'][0], query) self.retrieve(query, self.languages_callback)
def on_entry_changed(self, entry: Gtk.Entry) -> None: """React to an entry being changed. Removes the 'error' CSS class from the entry. Args: entry (Gtk.Entry): The changed entry """ if entry is self.password_entry: entry.get_style_context().remove_class("error") if entry.get_text() == self.password_confirm_entry.get_text(): self.password_confirm_entry.get_style_context().remove_class( "error") if entry.get_text() == "": entry.set_progress_fraction(0) else: strength, improvements = passwordmeter.test(entry.get_text()) entry.set_progress_fraction(strength) if strength > 2 / 3.0: entry.get_style_context().remove_class("bad") entry.get_style_context().remove_class("medium") entry.get_style_context().add_class("good") elif strength > 1 / 3.0: entry.get_style_context().remove_class("bad") entry.get_style_context().add_class("medium") entry.get_style_context().remove_class("good") else: entry.get_style_context().add_class("bad") entry.get_style_context().remove_class("medium") entry.get_style_context().remove_class("good") elif entry is self.password_confirm_entry: if entry.get_text() == self.password_entry.get_text(): entry.get_style_context().remove_class("error") else: entry.get_style_context().add_class("error") elif entry is self.username_entry: entry.get_style_context().remove_class("error")