Esempio n. 1
0
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);

}