Exemple #1
0
    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")
Exemple #2
0
 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')
Exemple #3
0
    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')
Exemple #4
0
    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)
Exemple #5
0
    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")