def on_digit_only_setting_changed(entry: Gtk.Entry) -> None: current_value = entry.get_text() section = entry.get_section_name() option = entry.get_name() if current_value.isdigit(): config.new(section, option, int(current_value)) else: entry.set_text(utils.remove_letters(current_value))
def _link_gtk_entry_to_settings(settings, entry: Gtk.Entry, settings_id: str): """ Link a Gtk.Entry to a GSettings ID, so any change in one of them will be reflected in the other one. """ name = entry.get_name() logging.debug(f"[LINK] settings::{settings_id} <-> entry {name} [str]") curr_value = settings.get_safe_string(settings_id) if curr_value: entry.set_text(curr_value) settings.connect( f"changed::{settings_id}", lambda s, k: entry.set_text(settings.get_safe_string(settings_id))) entry.connect( "changed", lambda e: settings.set_string(settings_id, str(entry.get_text())))
def on_setting_changed(entry: Gtk.Entry) -> None: current_value = entry.get_text() section = entry.get_section_name() option = entry.get_name() config.new(section, option, current_value)