コード例 #1
0
    def load_window(self):
        from cloudsn.core.controller import Controller
        builder=gtk.Builder()
        builder.set_translation_domain("cloudsn")
        builder.add_from_file(config.add_data_prefix("preferences.ui"))
        builder.connect_signals(self)
        self.window=builder.get_object("dialog")
        self.minutes=builder.get_object("minutes_spin")
        self.max_not_spin=builder.get_object("max_not_spin")
        #tests
        self.store = builder.get_object("account_store");
        self.account_tree = builder.get_object("account_treeview");
        self.dialog_new = builder.get_object("account_new_dialog");
        self.providers_combo = builder.get_object("providers_combo");
        self.providers_store = builder.get_object("providers_store");
        self.account_name_entry = builder.get_object("account_name_entry");
        self.startup_check = builder.get_object("startup_check")
        self.indicator_combo = builder.get_object("indicator_combo")
        self.indicators_store = builder.get_object("indicators_store");
        for prov in self.pm.get_providers():
            self.providers_store.append([prov.get_icon(), prov.get_name()])
        for acc in self.am.get_accounts():
            self.store.append([acc.get_icon(), acc.get_name(),
                self.__get_account_date(acc), acc.get_active()])

        self.providers_combo.set_active(0)
        self.minutes.set_value (float(self.config.get_prefs()["minutes"]))
        self.max_not_spin.set_value (float(self.config.get_prefs()["max_notifications"]))

        self.window.set_icon(config.get_cloudsn_icon())
        self.dialog_new.set_icon(config.get_cloudsn_icon())

        if os.path.exists(config.get_startup_file_path()):
            self.startup_check.set_active(True)
        else:
            self.startup_check.set_active(False)
        #Populate indicator combo
        i=0
        indicator_name = self.config.get_prefs()["indicator"]
        for indi in self.im.get_indicators():
            self.indicators_store.append([indi.get_name()])
            if indi.get_name() == indicator_name:
                self.indicator_combo.set_active(i)
            i+=1

        #Update the last check date
        Controller.get_instance().connect ("account-checked", 
            self.__on_account_checked_cb)
        
        Controller.get_instance().connect ("account-check-error", 
            self.__on_account_check_error_cb)
コード例 #2
0
    def load_window(self):
        from cloudsn.core.controller import Controller

        self.builder=Gtk.Builder()
        self.builder.set_translation_domain("cloudsn")
        self.builder.add_from_file(config.add_data_prefix("preferences.ui"))
        self.builder.connect_signals(self)
        self.window=self.builder.get_object("main_window")
        self.window.connect ("delete-event", self.window_delete_event_cb)
        self.window.set_icon(config.get_cloudsn_icon())
        self.main_account_tree = self.builder.get_object("main_account_tree");
        self.main_store = self.builder.get_object("account_store");
        self.providers_combo = self.builder.get_object("providers_combo");
        self.providers_store = self.builder.get_object("providers_store");
        self.play_button = self.builder.get_object("tool_play");
        self.read_button = self.builder.get_object("main_read_button");

        #Populate accounts
        for acc in self.am.get_accounts():
            self.main_store.append([acc.get_icon(), acc.get_name(),
                self.__get_account_date(acc), acc.get_active(),
                acc.get_total_unread()])

        #Populate providers
        for prov in self.pm.get_providers():
            self.providers_store.append([prov.get_icon(), prov.get_name()])

        #Update the last check date
        Controller.get_instance().connect ("account-checked",
            self.__on_account_checked_cb)

        Controller.get_instance().connect ("account-check-error",
            self.__on_account_check_error_cb)

        self.set_play_active (Controller.get_instance().get_active())
コード例 #3
0
    def set_active(self, active):
        if active:
            self.statusIcon = gtk.StatusIcon()
            self.statusIcon.set_from_pixbuf(config.get_cloudsn_icon())
            self.statusIcon.set_visible(True)
            self.statusIcon.set_tooltip(APP_LONG_NAME)
            self.statusIcon.connect("activate", self.main_cb, self.statusIcon)

            self.menu = self.create_pref_menu()
            self.indmenu = self.create_main_menu()

            self.statusIcon.connect("popup-menu", self.popup_menu_cb, self.menu)
            self.statusIcon.set_visible(1)
        else:
            # TODO Discable the indicators
            logger.debug("deactivate Not implemented")
コード例 #4
0
    def set_active(self, active):
        if active:
            self.statusIcon = gtk.StatusIcon()
            self.statusIcon.set_from_pixbuf(config.get_cloudsn_icon())
            self.statusIcon.set_visible(True)
            self.statusIcon.set_tooltip(APP_LONG_NAME)
            self.statusIcon.connect('activate', self.main_cb, self.statusIcon)

            self.menu = self.create_pref_menu()
            self.indmenu = self.create_main_menu()

            self.statusIcon.connect('popup-menu', self.popup_menu_cb, self.menu)
            self.statusIcon.set_visible(1)
        else:
            #TODO Discable the indicators
            logger.debug("deactivate Not implemented")
コード例 #5
0
def check_auth_configuration():
    try:
        import gnomekeyring as gk
        from ..core.keyrings import gkeyring
    except Exception:
        logger.debug("Gnome keyring is not available")
        return

    conf = SettingsController.get_instance()
    prefs = conf.get_prefs()
    if AUTH_DONT_ASK_KEY in prefs and get_boolean(
            prefs[AUTH_DONT_ASK_KEY]) == True:
        return

    if get_keyring().get_id() == gkeyring.GNOME_KEYRING_ID:
        return

    label = Gtk.Label()
    label.set_markup(
        _("""<b>Security warning</b>

You have gnome-keyring installed but your are using plain text encryption
to store your passwords. You can select the encryption method
in the preferences dialog.

"""))
    dialog = Gtk.Dialog(
        APP_LONG_NAME, None,
        Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT,
        (Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT))
    dialog.set_icon(get_cloudsn_icon())
    dialog.vbox.pack_start(label, False, False, 10)
    checkbox = Gtk.CheckButton(_("Don't ask me again"))
    checkbox.show()
    dialog.vbox.pack_end(checkbox, False, False, 0)
    label.show()
    response = dialog.run()
    dialog.destroy()
    if checkbox.get_active():
        conf.set_pref(AUTH_DONT_ASK_KEY, True)
        conf.save_prefs()
コード例 #6
0
def check_auth_configuration():
    try:
        import gnomekeyring as gk
        from ..core.keyrings import gkeyring
    except Exception:
        logger.debug("Gnome keyring is not available")
        return

    conf = SettingsController.get_instance()
    prefs = conf.get_prefs()
    if AUTH_DONT_ASK_KEY in prefs and get_boolean(prefs[AUTH_DONT_ASK_KEY]) == True:
        return

    if get_keyring().get_id() == gkeyring.GNOME_KEYRING_ID:
        return

    label = Gtk.Label()
    label.set_markup(_("""<b>Security warning</b>

You have gnome-keyring installed but your are using plain text encryption
to store your passwords. You can select the encryption method
in the preferences dialog.

"""))
    dialog = Gtk.Dialog(APP_LONG_NAME,
                       None,
                       Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT,
                       (Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT))
    dialog.set_icon(get_cloudsn_icon())
    dialog.vbox.pack_start(label, False, False, 10)
    checkbox = Gtk.CheckButton(_("Don't ask me again"))
    checkbox.show()
    dialog.vbox.pack_end(checkbox, False, False, 0)
    label.show()
    response = dialog.run()
    dialog.destroy()
    if checkbox.get_active():
        conf.set_pref (AUTH_DONT_ASK_KEY, True)
        conf.save_prefs()
コード例 #7
0
    def load_window(self):
        from cloudsn.core.controller import Controller

        self.builder = gtk.Builder()
        self.builder.set_translation_domain("cloudsn")
        self.builder.add_from_file(config.add_data_prefix("preferences.ui"))
        self.builder.connect_signals(self)
        self.window = self.builder.get_object("main_window")
        self.window.connect("delete-event", self.window_delete_event_cb)
        self.window.set_icon(config.get_cloudsn_icon())
        self.main_account_tree = self.builder.get_object("main_account_tree")
        self.main_store = self.builder.get_object("account_store")
        self.providers_combo = self.builder.get_object("providers_combo")
        self.providers_store = self.builder.get_object("providers_store")
        self.play_button = self.builder.get_object("tool_play")
        self.read_button = self.builder.get_object("main_read_button")

        #Populate accounts
        for acc in self.am.get_accounts():
            self.main_store.append([
                acc.get_icon(),
                acc.get_name(),
                self.__get_account_date(acc),
                acc.get_active(),
                acc.get_total_unread()
            ])

        #Populate providers
        for prov in self.pm.get_providers():
            self.providers_store.append([prov.get_icon(), prov.get_name()])

        #Update the last check date
        Controller.get_instance().connect("account-checked",
                                          self.__on_account_checked_cb)

        Controller.get_instance().connect("account-check-error",
                                          self.__on_account_check_error_cb)

        self.set_play_active(Controller.get_instance().get_active())