|
Packit |
b00eeb |
/*
|
|
Packit |
b00eeb |
* gnome-keyring
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* Copyright (C) 2011 Collabora Ltd.
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* This program is free software; you can redistribute it and/or modify
|
|
Packit |
b00eeb |
* it under the terms of the GNU Lesser General Public License as
|
|
Packit |
b00eeb |
* published by the Free Software Foundation; either version 2.1 of
|
|
Packit |
b00eeb |
* the License, or (at your option) any later version.
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* This program is distributed in the hope that it will be useful, but
|
|
Packit |
b00eeb |
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
b00eeb |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
b00eeb |
* Lesser General Public License for more details.
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b00eeb |
* License along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* Author: Stef Walter <stefw@collabora.co.uk>
|
|
Packit |
b00eeb |
*/
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "config.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "gcr/gcr.h"
|
|
Packit |
b00eeb |
#include "gcr/gcr-gnupg-collection.h"
|
|
Packit |
b00eeb |
#include "gcr/gcr-gnupg-key.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "ui/gcr-live-search.h"
|
|
Packit |
b00eeb |
#include "ui/gcr-list-selector-private.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include <gtk/gtk.h>
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include <unistd.h>
|
|
Packit |
b00eeb |
#include <string.h>
|
|
Packit |
b00eeb |
#include <errno.h>
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
on_collection_loaded (GObject *source, GAsyncResult *result, gpointer unused)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
_gcr_gnupg_collection_load_finish (GCR_GNUPG_COLLECTION (source), result, &error);
|
|
Packit |
b00eeb |
if (error) {
|
|
Packit |
b00eeb |
g_warning ("collection load failed: %s", error->message);
|
|
Packit |
b00eeb |
g_clear_error (&error);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
int
|
|
Packit |
b00eeb |
main (int argc, char *argv[])
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrCollection *collection;
|
|
Packit |
b00eeb |
GcrListSelector *selector;
|
|
Packit |
b00eeb |
GtkWidget *scroll;
|
|
Packit |
b00eeb |
GtkDialog *dialog;
|
|
Packit |
b00eeb |
GtkWidget *search;
|
|
Packit |
b00eeb |
GtkBox *box;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
gtk_init (&argc, &argv);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
dialog = GTK_DIALOG (gtk_dialog_new ());
|
|
Packit |
b00eeb |
g_object_ref_sink (dialog);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
collection = _gcr_gnupg_collection_new (NULL);
|
|
Packit |
b00eeb |
selector = gcr_list_selector_new (collection);
|
|
Packit |
b00eeb |
search = _gcr_live_search_new (GTK_WIDGET (selector));
|
|
Packit |
b00eeb |
_gcr_list_selector_set_live_search (selector, GCR_LIVE_SEARCH (search));
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
scroll = gtk_scrolled_window_new (NULL, NULL);
|
|
Packit |
b00eeb |
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_ETCHED_IN);
|
|
Packit |
b00eeb |
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
|
Packit |
b00eeb |
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (selector));
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
box = GTK_BOX (gtk_dialog_get_content_area (dialog));
|
|
Packit |
b00eeb |
gtk_box_pack_start (box, GTK_WIDGET (scroll), TRUE, TRUE, 0);
|
|
Packit |
b00eeb |
gtk_box_pack_end (box, search, FALSE, TRUE, 0);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
gtk_widget_show (GTK_WIDGET (selector));
|
|
Packit |
b00eeb |
gtk_widget_show (scroll);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
_gcr_gnupg_collection_load_async (GCR_GNUPG_COLLECTION (collection), NULL,
|
|
Packit |
b00eeb |
on_collection_loaded, NULL);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
gtk_window_set_default_size (GTK_WINDOW (dialog), 550, 400);
|
|
Packit |
b00eeb |
gtk_container_set_border_width (GTK_CONTAINER (dialog), 20);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_object_unref (collection);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
gtk_dialog_run (dialog);
|
|
Packit |
b00eeb |
gtk_widget_destroy (GTK_WIDGET (dialog));
|
|
Packit |
b00eeb |
g_object_unref (dialog);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
return 0;
|
|
Packit |
b00eeb |
}
|