int keyring_setdef(const char *keyname) { #ifndef HAVE_GNOME_KEYRING_SET_DEFAULT_KEYRING print_error(10, "WARNING", "\nThis feature not supported.\n"); return TRUE; #endif if (keyname == NULL) { print_error(GNOME_KEYRING_RESULT_NO_SUCH_KEYRING, "ERROR", "\nInvalid keyring.\n"); return FALSE; } if (!gnome_keyring_is_available()) { print_error(GNOME_KEYRING_RESULT_NO_KEYRING_DAEMON, "ERROR", "\nFailed to communicate with a gnome-keyring-daemon.\n"); return FALSE; } loop = g_main_loop_new(NULL, FALSE); gnome_keyring_set_default_keyring(keyname, (GnomeKeyringOperationDoneCallback) callback__done, "setdef", NULL); g_main_loop_run(loop); if (exit_status) fprintf(stderr, "Set '%s' keyring as default.\n", keyname); return exit_status; }
static void on_keyring_default (GtkAction *action, SeahorseGkrKeyringCommands *self) { SeahorseView *view; GList *keys; g_return_if_fail (SEAHORSE_IS_GKR_KEYRING_COMMANDS (self)); g_return_if_fail (GTK_IS_ACTION (action)); view = seahorse_commands_get_view (SEAHORSE_COMMANDS (self)); keys = seahorse_view_get_selected_matching (view, &keyring_predicate); if (keys) { gnome_keyring_set_default_keyring (seahorse_gkr_keyring_get_name (keys->data), on_set_default_keyring_done, g_object_ref (self), g_object_unref); } g_list_free (keys); }