Beispiel #1
0
 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)
Beispiel #2
0
 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()
Beispiel #3
0
 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
Beispiel #4
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()
Beispiel #5
0
    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)