[gnome-keyring/ui-widgets: 7/7] [gcr] Get ready for screenshots in GUADEC presentation
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-keyring/ui-widgets: 7/7] [gcr] Get ready for screenshots in GUADEC presentation
- Date: Fri, 27 Aug 2010 03:25:05 +0000 (UTC)
commit 0c5f3d6115305e3085dd76a71c8955b5e16aedbf
Author: Stef Walter <stef memberwebs com>
Date: Tue Jul 27 06:00:23 2010 +0000
[gcr] Get ready for screenshots in GUADEC presentation
gcr/gcr-certificate-widget.c | 6 +++++
gcr/gcr-display-view.c | 4 +-
gcr/gcr-key-widget.c | 12 ++++++++++
gcr/tests/ui-test-certificate.c | 44 +++++++++++++++++++++++++-------------
gcr/tests/ui-test-key.c | 3 +-
5 files changed, 51 insertions(+), 18 deletions(-)
---
diff --git a/gcr/gcr-certificate-widget.c b/gcr/gcr-certificate-widget.c
index 7a55a6e..d6ef235 100644
--- a/gcr/gcr-certificate-widget.c
+++ b/gcr/gcr-certificate-widget.c
@@ -180,6 +180,9 @@ refresh_display (GcrCertificateWidget *self)
GQuark oid;
GDate date;
+ if (!self->pv->view)
+ return;
+
_gcr_display_view_clear (self->pv->view);
if (!self->pv->certificate)
@@ -336,6 +339,7 @@ gcr_certificate_widget_constructor (GType type, guint n_props, GObjectConstructP
_gcr_display_view_set_stock_image (self->pv->view, GCR_ICON_CERTIFICATE);
scroll = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (self->pv->view));
@@ -396,6 +400,7 @@ gcr_certificate_widget_set_property (GObject *obj, guint prop_id, const GValue *
g_free (self->pv->label);
self->pv->label = g_value_dup_string (value);
g_object_notify (obj, "label");
+ refresh_display (self);
break;
case PROP_ATTRIBUTES:
g_return_if_fail (!self->pv->attributes);
@@ -410,6 +415,7 @@ gcr_certificate_widget_set_property (GObject *obj, guint prop_id, const GValue *
(GDestroyNotify)gp11_attributes_unref);
gcr_certificate_widget_set_certificate (self, cert);
g_object_unref (cert);
+ refresh_display (self);
}
}
break;
diff --git a/gcr/gcr-display-view.c b/gcr/gcr-display-view.c
index 0e8cd71..d84027a 100644
--- a/gcr/gcr-display-view.c
+++ b/gcr/gcr-display-view.c
@@ -28,7 +28,7 @@
G_DEFINE_TYPE (GcrDisplayView, _gcr_display_view, GTK_TYPE_TEXT_VIEW);
-#define NORMAL_MARGIN 5
+#define NORMAL_MARGIN 10
#define FIELD_MARGIN 17
#define COLUMN_MARGIN 6
#define ICON_MARGIN 8
@@ -175,7 +175,7 @@ _gcr_display_view_constructor (GType type, guint n_props, GObjectConstructParam
on_expander_expanded (G_OBJECT (widget), NULL, self);
alignment = gtk_alignment_new (0.5, 0.5, 0.5, 0.5);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 0, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 9, 0, 0);
gtk_container_add (GTK_CONTAINER (alignment), widget);
gtk_widget_show_all (alignment);
diff --git a/gcr/gcr-key-widget.c b/gcr/gcr-key-widget.c
index 60b1ddc..bfdf77d 100644
--- a/gcr/gcr-key-widget.c
+++ b/gcr/gcr-key-widget.c
@@ -127,6 +127,9 @@ refresh_display (GcrKeyWidget *self)
gulong key_type;
gint size;
+ if (!self->pv->view)
+ return;
+
_gcr_display_view_clear (self->pv->view);
if (!self->pv->attributes)
@@ -160,6 +163,13 @@ refresh_display (GcrKeyWidget *self)
_gcr_display_view_append_content (self->pv->view, text, NULL);
+ size = calculate_key_size (self->pv->attributes, key_type);
+ if (size >= 0) {
+ display = g_strdup_printf (_("%d bits"), size);
+ _gcr_display_view_append_content (self->pv->view, _("Strength"), display);
+ g_free (display);
+ }
+
_gcr_display_view_start_details (self->pv->view);
@@ -203,6 +213,7 @@ gcr_key_widget_constructor (GType type, guint n_props, GObjectConstructParam *pr
scroll = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_ETCHED_IN);
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (self->pv->view));
gtk_container_add (GTK_CONTAINER (self), scroll);
@@ -251,6 +262,7 @@ gcr_key_widget_set_property (GObject *obj, guint prop_id, const GValue *value,
g_free (self->pv->label);
self->pv->label = g_value_dup_string (value);
g_object_notify (obj, "label");
+ refresh_display (self);
break;
case PROP_ATTRIBUTES:
g_return_if_fail (!self->pv->attributes);
diff --git a/gcr/tests/ui-test-certificate.c b/gcr/tests/ui-test-certificate.c
index 8711e7f..fdec278 100644
--- a/gcr/tests/ui-test-certificate.c
+++ b/gcr/tests/ui-test-certificate.c
@@ -32,46 +32,60 @@ chdir_base_dir (char* argv0)
}
static void
-test_details (const gchar *path)
+on_parser_parsed (GcrParser *parser, gpointer unused)
{
GcrCertificateWidget *details;
- GcrCertificate *certificate;
GtkDialog *dialog;
- guchar *data;
- gsize n_data;
-
- if (!g_file_get_contents (path, (gchar**)&data, &n_data, NULL))
- g_error ("couldn't read file: %s", path);
-
- certificate = gcr_simple_certificate_new (data, n_data);
- g_assert (certificate);
- g_free (data);
dialog = GTK_DIALOG (gtk_dialog_new ());
g_object_ref_sink (dialog);
- details = gcr_certificate_widget_new (certificate);
+ details = g_object_new (GCR_TYPE_CERTIFICATE_WIDGET,
+ "label", "Google's Certificate",
+ "attributes", gcr_parser_get_parsed_attributes (parser),
+ NULL);
+
gtk_widget_show (GTK_WIDGET (details));
gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (dialog)), GTK_WIDGET (details));
gtk_window_set_default_size (GTK_WINDOW (dialog), 550, 400);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog), 20);
gtk_dialog_run (dialog);
g_object_unref (dialog);
- g_object_unref (certificate);
g_object_unref (details);
}
+static void
+test_certificate (const gchar *path)
+{
+ GcrParser *parser;
+ GError *err = NULL;
+ guchar *data;
+ gsize n_data;
+
+ if (!g_file_get_contents (path, (gchar**)&data, &n_data, NULL))
+ g_error ("couldn't read file: %s", path);
+
+ parser = gcr_parser_new ();
+ g_signal_connect (parser, "parsed", G_CALLBACK (on_parser_parsed), NULL);
+ if (!gcr_parser_parse_data (parser, data, n_data, &err))
+ g_error ("couldn't parse data: %s", err->message);
+
+ g_object_unref (parser);
+ g_free (data);
+}
+
int
main(int argc, char *argv[])
{
gtk_init (&argc, &argv);
if (argc > 1) {
- test_details (argv[1]);
+ test_certificate (argv[1]);
} else {
chdir_base_dir (argv[0]);
- test_details ("test-data/der-certificate.crt");
+ test_certificate ("test-data/der-certificate.crt");
}
return 0;
diff --git a/gcr/tests/ui-test-key.c b/gcr/tests/ui-test-key.c
index 2d2403d..e54c7b4 100644
--- a/gcr/tests/ui-test-key.c
+++ b/gcr/tests/ui-test-key.c
@@ -40,12 +40,13 @@ on_parser_parsed (GcrParser *parser, gpointer unused)
dialog = GTK_DIALOG (gtk_dialog_new ());
g_object_ref_sink (dialog);
- details = gcr_key_widget_new (gcr_parser_get_parsed_label (parser),
+ details = gcr_key_widget_new ("My Private Key",
gcr_parser_get_parsed_attributes (parser));
gtk_widget_show (GTK_WIDGET (details));
gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (dialog)), GTK_WIDGET (details));
gtk_window_set_default_size (GTK_WINDOW (dialog), 550, 400);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog), 20);
gtk_dialog_run (dialog);
g_object_unref (dialog);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]