def _on_default_zoom_changed(self, button): """ Save size @param button as Gtk.SpinButton """ monitor_model = get_current_monitor_model( self.__settings_dialog.get_transient_for()) try: # Add current value less monitor model zoom_levels = [] for zoom_level in El().settings.get_value("default-zoom-level"): zoom_splited = zoom_level.split('@') if zoom_splited[0] == monitor_model: continue else: zoom_levels.append("%s@%s" % (zoom_splited[0], zoom_splited[1])) # Add new zoom value for monitor model zoom_levels.append("%s@%s" % (monitor_model, button.get_value())) El().settings.set_value("default-zoom-level", GLib.Variant("as", zoom_levels)) for window in El().windows: window.update_zoom_level(True) except Exception as e: print("SettingsDialog::_on_default_zoom_changed():", e)
def update_zoom_level(self, force): """ Update zoom level @param force as bool """ monitor_model = get_current_monitor_model(self) if force or monitor_model != self.__monitor_model: # Update window default zoom level self.__update_zoom_level() self.__monitor_model = monitor_model # Update view zoom level for view in self.__container.views: view.webview.update_zoom_level()
def __update_zoom_level(self): """ Update zoom level for default screen """ monitor_model = get_current_monitor_model(self) zoom_levels = El().settings.get_value("default-zoom-level") user_zoom_level = False for zoom_level in zoom_levels: zoom_splited = zoom_level.split("@") if zoom_splited[0] == monitor_model: self.__zoom_level = float(zoom_splited[1]) user_zoom_level = True break if not user_zoom_level: self.__zoom_level = 1.0
def __init__(self, window): """ Init dialog @param window as Window """ self.__helper = PasswordsHelper() builder = Gtk.Builder() builder.add_from_resource("/org/gnome/Eolie/SettingsDialog.ui") self.__settings_dialog = builder.get_object("settings_dialog") self.__settings_dialog.set_transient_for(window) # self.__settings_dialog.connect("destroy", self.__on_destroy) if False: self.__settings_dialog.set_title(_("Preferences")) else: headerbar = builder.get_object("header_bar") headerbar.set_title(_("Preferences")) self.__settings_dialog.set_titlebar(headerbar) download_chooser = builder.get_object("download_chooser") dir_uri = El().settings.get_value("download-uri").get_string() if not dir_uri: directory = GLib.get_user_special_dir( GLib.UserDirectory.DIRECTORY_DOWNLOAD) if directory is not None: dir_uri = GLib.filename_to_uri(directory, None) if dir_uri: download_chooser.set_uri(dir_uri) else: download_chooser.set_uri("file://" + GLib.getenv("HOME")) open_downloads = builder.get_object("open_downloads_check") open_downloads.set_active( El().settings.get_value("open-downloads")) self.__start_page_uri = builder.get_object("start_page_uri") combo_start = builder.get_object("combo_start") start_page = El().settings.get_value("start-page").get_string() if start_page.startswith("http"): combo_start.set_active_id("address") self.__start_page_uri.set_text(start_page) self.__start_page_uri.show() else: combo_start.set_active_id(start_page) remember_session = builder.get_object("remember_sessions_check") remember_session.set_active( El().settings.get_value("remember-session")) enable_plugins = builder.get_object("plugins_check") enable_plugins.set_active( El().settings.get_value("enable-plugins")) self.__fonts_grid = builder.get_object("fonts_grid") use_system_fonts = builder.get_object("system_fonts_check") use_system_fonts.set_active( El().settings.get_value("use-system-fonts")) self.__fonts_grid.set_sensitive( not El().settings.get_value("use-system-fonts")) sans_serif_button = builder.get_object("sans_serif_button") sans_serif_button.set_font_name( El().settings.get_value("font-sans-serif").get_string()) serif_button = builder.get_object("serif_button") serif_button.set_font_name( El().settings.get_value("font-serif").get_string()) monospace_button = builder.get_object("monospace_button") monospace_button.set_font_name( El().settings.get_value("font-monospace").get_string()) min_font_size_spin = builder.get_object("min_font_size_spin") min_font_size_spin.set_value( El().settings.get_value("min-font-size").get_int32()) monitor_model = get_current_monitor_model(window) zoom_levels = El().settings.get_value("default-zoom-level") wanted_zoom_level = 1.0 try: for zoom_level in zoom_levels: zoom_splited = zoom_level.split('@') if zoom_splited[0] == monitor_model: wanted_zoom_level = float(zoom_splited[1]) except: pass default_zoom_level = builder.get_object("default_zoom_level") default_zoom_level.set_value(float(wanted_zoom_level)) cookies_combo = builder.get_object("cookies_combo") storage = El().settings.get_enum("cookie-storage") cookies_combo.set_active_id(str(storage)) history_combo = builder.get_object("history_combo") storage = El().settings.get_enum("history-storage") history_combo.set_active_id(str(storage)) self.__populars_count = builder.get_object("populars_count") if start_page == "popular": self.__populars_count.show() max_popular_items = El().settings.get_value( "max-popular-items").get_int32() builder.get_object("popular_spin_button").set_value(max_popular_items) remember_passwords = builder.get_object("remember_passwords_check") remember_passwords.set_active( El().settings.get_value("remember-passwords")) tracking_check = builder.get_object("tracking_check") tracking_check.set_active( El().settings.get_value("do-not-track")) self.__result_label = builder.get_object("result_label") self.__sync_button = builder.get_object("sync_button") self.__login_entry = builder.get_object("login_entry") self.__password_entry = builder.get_object("password_entry") self.__result_image = builder.get_object("result_image") builder.connect_signals(self) self.__helper.get_sync(self.__on_get_sync) thread = Thread(target=self.__get_sync_status) thread.daemon = True thread.start()
def __init__(self, window): """ Init dialog @param window as Window """ builder = Gtk.Builder() builder.add_from_resource("/org/gnome/Eolie/SettingsDialog.ui") self.__settings_dialog = builder.get_object("settings_dialog") self.__settings_dialog.set_transient_for(window) # self.__settings_dialog.connect("destroy", self.__on_destroy) if False: self.__settings_dialog.set_title(_("Preferences")) else: headerbar = builder.get_object("header_bar") headerbar.set_title(_("Preferences")) self.__settings_dialog.set_titlebar(headerbar) download_chooser = builder.get_object("download_chooser") dir_uri = El().settings.get_value("download-uri").get_string() if not dir_uri: directory = GLib.get_user_special_dir( GLib.UserDirectory.DIRECTORY_DOWNLOAD) if directory is not None: dir_uri = GLib.filename_to_uri(directory, None) if dir_uri: download_chooser.set_uri(dir_uri) else: download_chooser.set_uri("file://" + GLib.getenv("HOME")) open_downloads = builder.get_object("open_downloads_check") open_downloads.set_active(El().settings.get_value("open-downloads")) self.__start_page_uri = builder.get_object("start_page_uri") combo_start = builder.get_object("combo_start") start_page = El().settings.get_value("start-page").get_string() if start_page.startswith("http"): combo_start.set_active_id("address") self.__start_page_uri.set_text(start_page) self.__start_page_uri.show() else: combo_start.set_active_id(start_page) combo_engine = builder.get_object("combo_engine") combo_engine.set_active_id( El().settings.get_value("search-engine").get_string()) remember_session = builder.get_object("remember_sessions_check") remember_session.set_active( El().settings.get_value("remember-session")) enable_plugins = builder.get_object("plugins_check") enable_plugins.set_active(El().settings.get_value("enable-plugins")) self.__fonts_grid = builder.get_object("fonts_grid") use_system_fonts = builder.get_object("system_fonts_check") use_system_fonts.set_active( El().settings.get_value("use-system-fonts")) self.__fonts_grid.set_sensitive( not El().settings.get_value("use-system-fonts")) sans_serif_button = builder.get_object("sans_serif_button") sans_serif_button.set_font_name( El().settings.get_value("font-sans-serif").get_string()) serif_button = builder.get_object("serif_button") serif_button.set_font_name( El().settings.get_value("font-serif").get_string()) monospace_button = builder.get_object("monospace_button") monospace_button.set_font_name( El().settings.get_value("font-monospace").get_string()) min_font_size_spin = builder.get_object("min_font_size_spin") min_font_size_spin.set_value( El().settings.get_value("min-font-size").get_int32()) monitor_model = get_current_monitor_model(window) zoom_levels = El().settings.get_value("default-zoom-level") wanted_zoom_level = 1.0 try: for zoom_level in zoom_levels: zoom_splited = zoom_level.split('@') if zoom_splited[0] == monitor_model: wanted_zoom_level = float(zoom_splited[1]) except: pass default_zoom_level = builder.get_object("default_zoom_level") default_zoom_level.set_value(float(wanted_zoom_level)) cookies_combo = builder.get_object("cookies_combo") storage = El().settings.get_enum("cookie-storage") cookies_combo.set_active_id(str(storage)) if GLib.find_program_in_path("seahorse") is None: button = builder.get_object("manage_passwords_button") button.set_sensitive(False) button.set_label( _("Installing seahorse will allow you\n" "managing your passwords")) remember_passwords = builder.get_object("remember_passwords_check") remember_passwords.set_active( El().settings.get_value("remember-passwords")) tracking_check = builder.get_object("tracking_check") tracking_check.set_active(El().settings.get_value("do-not-track")) label = builder.get_object("result_label") sync_button = builder.get_object("sync_button") if El().sync_worker is not None: login_entry = builder.get_object("login_entry") login_entry.set_text(El().sync_worker.username) password_entry = builder.get_object("password_entry") image = builder.get_object("result_image") if El().sync_worker.status: label.set_text(_("Synchronization is working")) image.set_from_icon_name("network-transmit-receive-symbolic", Gtk.IconSize.MENU) sync_button.connect("clicked", self.__on_sync_button_clicked, login_entry, password_entry, label, image) else: try: from eolie.mozilla_sync import SyncWorker SyncWorker # Just make PEP8 happy except Exception as e: label.set_text( _("Synchronization is not available" " on your computer:\n %s") % e) sync_button.set_sensitive(False) builder.connect_signals(self)