seahorse r2670 - in trunk: . gkr libseahorse
- From: nnielsen svn gnome org
- To: svn-commits-list gnome org
- Subject: seahorse r2670 - in trunk: . gkr libseahorse
- Date: Tue, 16 Dec 2008 03:24:33 +0000 (UTC)
Author: nnielsen
Date: Tue Dec 16 03:24:33 2008
New Revision: 2670
URL: http://svn.gnome.org/viewvc/seahorse?rev=2670&view=rev
Log:
* gkr/Makefile.am:
* gkr/seahorse-add-keyring.glade: (moved from libseahorse)
* gkr/seahorse-gkr-add-keyring.c: (added)
* gkr/seahorse-gkr-commands.c: (removed)
* gkr/seahorse-gkr-commands.c: (removed)
* gkr/seahorse-gkr-dialogs.h:
* gkr/seahorse-gkr-item-commands.c: (added)
* gkr/seahorse-gkr-item-commands.h: (added)
* gkr/seahorse-gkr-keyring-commands.c: (added)
* gkr/seahorse-gkr-keyring-commands.h: (added)
* gkr/seahorse-gkr-module.c:
* gkr/seahorse-gkr-module.h:
* libseahorse/Makefile.am:
* libseahorse/seahorse-add-keyring.glade: (moved to gkr)
* libseahorse/seahorse-prefs.c:
* libseahorse/seahorse-prefs.glade:
* libseahorse/seahorse-prefs-keyrings.c: (removed)
Moved the add keyring and delete keyring functionality into
the gkr module.
Added:
trunk/gkr/seahorse-add-keyring.glade (props changed)
- copied unchanged from r2667, /trunk/libseahorse/seahorse-add-keyring.glade
trunk/gkr/seahorse-gkr-add-keyring.c
trunk/gkr/seahorse-gkr-item-commands.c (contents, props changed)
- copied, changed from r2667, /trunk/gkr/seahorse-gkr-commands.c
trunk/gkr/seahorse-gkr-item-commands.h (contents, props changed)
- copied, changed from r2667, /trunk/gkr/seahorse-gkr-commands.h
trunk/gkr/seahorse-gkr-keyring-commands.c
trunk/gkr/seahorse-gkr-keyring-commands.h
Removed:
trunk/gkr/seahorse-gkr-commands.c
trunk/gkr/seahorse-gkr-commands.h
trunk/libseahorse/seahorse-add-keyring.glade
trunk/libseahorse/seahorse-prefs-keyrings.c
Modified:
trunk/ChangeLog
trunk/gkr/Makefile.am
trunk/gkr/seahorse-gkr-dialogs.h
trunk/gkr/seahorse-gkr-module.c
trunk/gkr/seahorse-gkr-module.h
trunk/libseahorse/Makefile.am
trunk/libseahorse/seahorse-prefs.c
trunk/libseahorse/seahorse-prefs.glade
Modified: trunk/gkr/Makefile.am
==============================================================================
--- trunk/gkr/Makefile.am (original)
+++ trunk/gkr/Makefile.am Tue Dec 16 03:24:33 2008
@@ -19,11 +19,13 @@
libseahorse_gkr_la_SOURCES = \
seahorse-gkr.c seahorse-gkr.h \
- seahorse-gkr-commands.c seahorse-gkr-commands.h \
+ seahorse-gkr-add-keyring.c \
seahorse-gkr-dialogs.h \
seahorse-gkr-item.c seahorse-gkr-item.h \
+ seahorse-gkr-item-commands.c seahorse-gkr-item-commands.h \
seahorse-gkr-item-properties.c \
seahorse-gkr-keyring.c seahorse-gkr-keyring.h \
+ seahorse-gkr-keyring-commands.c seahorse-gkr-keyring-commands.h \
seahorse-gkr-keyring-properties.c \
seahorse-gkr-module.c seahorse-gkr-module.h \
seahorse-gkr-operation.c seahorse-gkr-operation.h \
@@ -35,6 +37,7 @@
$(top_builddir)/libcryptui/libcryptui.la
glade_DATA = \
+ seahorse-add-keyring.glade \
seahorse-gkr-item-properties.glade \
seahorse-gkr-keyring.glade
Added: trunk/gkr/seahorse-gkr-add-keyring.c
==============================================================================
--- (empty file)
+++ trunk/gkr/seahorse-gkr-add-keyring.c Tue Dec 16 03:24:33 2008
@@ -0,0 +1,180 @@
+/*
+ * Seahorse
+ *
+ * Copyright (C) 2008 Stefan Walter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the
+ * Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#include "config.h"
+
+#include "seahorse-gkr-dialogs.h"
+#include "seahorse-gkr-keyring.h"
+
+#include "seahorse-widget.h"
+#include "seahorse-util.h"
+
+#include <glib/gi18n.h>
+
+static void
+update_wait_cursor (GtkWidget *dialog, gpointer unused)
+{
+ GdkCursor *cursor;
+
+ g_return_if_fail (dialog->window);
+
+ /* No request active? */
+ if (!g_object_get_data (G_OBJECT (dialog), "keyring-request")) {
+ gdk_window_set_cursor (dialog->window, NULL);
+ return;
+ }
+
+ /*
+ * Get the wait cursor. Create a new one and cache it on the widget
+ * if first time.
+ */
+ cursor = (GdkCursor*)g_object_get_data (G_OBJECT (dialog), "wait-cursor");
+ if (!cursor) {
+ cursor = gdk_cursor_new (GDK_WATCH);
+ g_object_set_data_full (G_OBJECT (dialog), "wait-cursor", cursor,
+ (GDestroyNotify)gdk_cursor_unref);
+ }
+
+ /* Indicate that we're loading stuff */
+ gdk_window_set_cursor (dialog->window, cursor);
+}
+
+static void
+clear_request (SeahorseWidget *swidget, gboolean cancel)
+{
+ GtkWidget *dialog;
+ gpointer request;
+
+ dialog = seahorse_widget_get_toplevel (swidget);
+ g_return_if_fail (GTK_IS_WIDGET (dialog));
+
+ request = g_object_steal_data (G_OBJECT (dialog), "keyring-request");
+ if (request && cancel)
+ gnome_keyring_cancel_request (request);
+
+ if (GTK_WIDGET_REALIZED (dialog))
+ update_wait_cursor (dialog, NULL);
+ gtk_widget_set_sensitive (dialog, TRUE);
+}
+
+static void
+setup_request (SeahorseWidget *swidget, gpointer request)
+{
+ GtkWidget *dialog;
+
+ g_return_if_fail (request);
+
+ dialog = seahorse_widget_get_toplevel (swidget);
+ g_return_if_fail (GTK_IS_WIDGET (dialog));
+
+ /* Cancel any old operation going on */
+ clear_request (swidget, TRUE);
+
+ /*
+ * Start the operation and tie it to the widget so that it will get
+ * cancelled if the widget is destroyed before the operation is complete
+ */
+ g_object_set_data_full (G_OBJECT (dialog), "keyring-request", request,
+ gnome_keyring_cancel_request);
+
+ if (GTK_WIDGET_REALIZED (dialog))
+ update_wait_cursor (dialog, NULL);
+ else
+ g_signal_connect (dialog, "realize", G_CALLBACK (update_wait_cursor), dialog);
+
+ gtk_widget_set_sensitive (dialog, FALSE);
+}
+
+static void
+keyring_add_done (GnomeKeyringResult result, gpointer data)
+{
+ SeahorseWidget *swidget = SEAHORSE_WIDGET (data);
+ g_return_if_fail (swidget);
+
+ /* Clear the operation without cancelling it since it is complete */
+ clear_request (swidget, FALSE);
+
+ /* Successful. Update the listings and stuff. */
+ if (result == GNOME_KEYRING_RESULT_OK) {
+ /* TODO: refresh_keyrings (swidget); */
+
+ /* Setting the default keyring failed */
+ } else if (result != GNOME_KEYRING_RESULT_CANCELLED) {
+ seahorse_util_show_error (seahorse_widget_get_toplevel (swidget),
+ _("Couldn't add keyring"),
+ gnome_keyring_result_to_message (result));
+ }
+}
+
+static void
+keyring_name_changed (GtkEntry *entry, SeahorseWidget *swidget)
+{
+ const gchar *keyring = gtk_entry_get_text (entry);
+ seahorse_widget_set_sensitive (swidget, "ok", keyring && keyring[0]);
+}
+
+static void
+properties_response (GtkDialog *dialog, int response, SeahorseWidget *swidget)
+{
+ GtkEntry *entry;
+ const gchar *keyring;
+ gpointer request;
+
+ if (response == GTK_RESPONSE_HELP) {
+ seahorse_widget_show_help (swidget);
+ return;
+ }
+
+ if (response == GTK_RESPONSE_ACCEPT) {
+
+ entry = GTK_ENTRY (seahorse_widget_get_widget (swidget, "keyring-name"));
+ g_return_if_fail (entry);
+
+ keyring = gtk_entry_get_text (entry);
+ g_return_if_fail (keyring && keyring[0]);
+
+ request = gnome_keyring_create (keyring, NULL, keyring_add_done, swidget, NULL);
+ g_return_if_fail (request);
+ setup_request (swidget, request);
+ }
+
+ seahorse_widget_destroy (swidget);
+}
+
+void
+seahorse_gkr_add_keyring_show (GtkWindow *parent)
+{
+ SeahorseWidget *swidget = NULL;
+ GtkWidget *widget;
+ GtkEntry *entry;
+
+ swidget = seahorse_widget_new_allow_multiple ("add-keyring", parent);
+ g_return_if_fail (swidget);
+
+ entry = GTK_ENTRY (seahorse_widget_get_widget (swidget, "keyring-name"));
+ g_return_if_fail (entry);
+
+ glade_xml_signal_connect_data (swidget->xml, "keyring_name_changed",
+ G_CALLBACK (keyring_name_changed), swidget);
+ keyring_name_changed (entry, swidget);
+
+ widget = seahorse_widget_get_toplevel (swidget);
+ g_signal_connect (widget, "response", G_CALLBACK (properties_response), swidget);
+}
Modified: trunk/gkr/seahorse-gkr-dialogs.h
==============================================================================
--- trunk/gkr/seahorse-gkr-dialogs.h (original)
+++ trunk/gkr/seahorse-gkr-dialogs.h Tue Dec 16 03:24:33 2008
@@ -27,8 +27,12 @@
#include "seahorse-gkr-item.h"
#include "seahorse-gkr-keyring.h"
-void seahorse_gkr_item_properties_show (SeahorseGkrItem *git, GtkWindow *parent);
+void seahorse_gkr_add_keyring_register (void);
-void seahorse_gkr_keyring_properties_show (SeahorseGkrKeyring *gkr, GtkWindow *parent);
+void seahorse_gkr_add_keyring_show (GtkWindow *parent);
+
+void seahorse_gkr_item_properties_show (SeahorseGkrItem *git, GtkWindow *parent);
+
+void seahorse_gkr_keyring_properties_show (SeahorseGkrKeyring *gkr, GtkWindow *parent);
#endif /* __SEAHORSE_GKR_DIALOGS__ */
Copied: trunk/gkr/seahorse-gkr-item-commands.c (from r2667, /trunk/gkr/seahorse-gkr-commands.c)
==============================================================================
--- /trunk/gkr/seahorse-gkr-commands.c (original)
+++ trunk/gkr/seahorse-gkr-item-commands.c Tue Dec 16 03:24:33 2008
@@ -21,7 +21,7 @@
#include "config.h"
-#include "seahorse-gkr-commands.h"
+#include "seahorse-gkr-item-commands.h"
#include "seahorse-gkr.h"
#include "seahorse-gkr-item.h"
@@ -34,18 +34,7 @@
#include <glib/gi18n.h>
-enum {
- PROP_0
-};
-
-struct _SeahorseGkrCommandsPrivate {
- guint dummy;
-};
-
-G_DEFINE_TYPE (SeahorseGkrCommands, seahorse_gkr_commands, SEAHORSE_TYPE_COMMANDS);
-
-#define SEAHORSE_GKR_COMMANDS_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEAHORSE_TYPE_GKR_COMMANDS, SeahorseGkrCommandsPrivate))
+G_DEFINE_TYPE (SeahorseGkrItemCommands, seahorse_gkr_item_commands, SEAHORSE_TYPE_COMMANDS);
/* -----------------------------------------------------------------------------
* INTERNAL
@@ -56,7 +45,7 @@
*/
static void
-seahorse_gkr_commands_show_properties (SeahorseCommands* base, SeahorseObject* object)
+seahorse_gkr_item_commands_show_properties (SeahorseCommands* base, SeahorseObject* object)
{
GtkWindow *window;
@@ -67,15 +56,12 @@
if (G_OBJECT_TYPE (object) == SEAHORSE_TYPE_GKR_ITEM)
seahorse_gkr_item_properties_show (SEAHORSE_GKR_ITEM (object), window);
- else if (G_OBJECT_TYPE (object) == SEAHORSE_TYPE_GKR_KEYRING)
- seahorse_gkr_keyring_properties_show (SEAHORSE_GKR_KEYRING (object), window);
-
else
g_return_if_reached ();
}
static SeahorseOperation*
-seahorse_gkr_commands_delete_objects (SeahorseCommands* base, GList* objects)
+seahorse_gkr_item_commands_delete_objects (SeahorseCommands* base, GList* objects)
{
gchar *prompt;
GtkWidget *parent;
@@ -106,19 +92,16 @@
}
static GObject*
-seahorse_gkr_commands_constructor (GType type, guint n_props, GObjectConstructParam *props)
+seahorse_gkr_item_commands_constructor (GType type, guint n_props, GObjectConstructParam *props)
{
- GObject *obj = G_OBJECT_CLASS (seahorse_gkr_commands_parent_class)->constructor (type, n_props, props);
+ GObject *obj = G_OBJECT_CLASS (seahorse_gkr_item_commands_parent_class)->constructor (type, n_props, props);
SeahorseCommands *base = NULL;
SeahorseView *view;
if (obj) {
base = SEAHORSE_COMMANDS (obj);
-
view = seahorse_commands_get_view (base);
g_return_val_if_fail (view, NULL);
-
- seahorse_view_register_commands (view, base, SEAHORSE_TYPE_GKR_KEYRING);
seahorse_view_register_commands (view, base, SEAHORSE_TYPE_GKR_ITEM);
}
@@ -126,65 +109,26 @@
}
static void
-seahorse_gkr_commands_init (SeahorseGkrCommands *self)
-{
-
-}
-
-static void
-seahorse_gkr_commands_dispose (GObject *obj)
-{
- G_OBJECT_CLASS (seahorse_gkr_commands_parent_class)->dispose (obj);
-}
-
-static void
-seahorse_gkr_commands_finalize (GObject *obj)
+seahorse_gkr_item_commands_init (SeahorseGkrItemCommands *self)
{
- G_OBJECT_CLASS (seahorse_gkr_commands_parent_class)->finalize (obj);
-}
-
-static void
-seahorse_gkr_commands_set_property (GObject *obj, guint prop_id, const GValue *value,
- GParamSpec *pspec)
-{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
- break;
- }
-}
-static void
-seahorse_gkr_commands_get_property (GObject *obj, guint prop_id, GValue *value,
- GParamSpec *pspec)
-{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
- break;
- }
}
static void
-seahorse_gkr_commands_class_init (SeahorseGkrCommandsClass *klass)
+seahorse_gkr_item_commands_class_init (SeahorseGkrItemCommandsClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
SeahorseCommandsClass *cmd_class = SEAHORSE_COMMANDS_CLASS (klass);
- seahorse_gkr_commands_parent_class = g_type_class_peek_parent (klass);
- g_type_class_add_private (klass, sizeof (SeahorseGkrCommandsPrivate));
+ seahorse_gkr_item_commands_parent_class = g_type_class_peek_parent (klass);
- gobject_class->constructor = seahorse_gkr_commands_constructor;
- gobject_class->dispose = seahorse_gkr_commands_dispose;
- gobject_class->finalize = seahorse_gkr_commands_finalize;
- gobject_class->set_property = seahorse_gkr_commands_set_property;
- gobject_class->get_property = seahorse_gkr_commands_get_property;
-
- cmd_class->show_properties = seahorse_gkr_commands_show_properties;
- cmd_class->delete_objects = seahorse_gkr_commands_delete_objects;
+ gobject_class->constructor = seahorse_gkr_item_commands_constructor;
+
+ cmd_class->show_properties = seahorse_gkr_item_commands_show_properties;
+ cmd_class->delete_objects = seahorse_gkr_item_commands_delete_objects;
/* Register this class as a commands */
- seahorse_registry_register_type (seahorse_registry_get (), SEAHORSE_TYPE_GKR_COMMANDS,
+ seahorse_registry_register_type (seahorse_registry_get (), SEAHORSE_TYPE_GKR_ITEM_COMMANDS,
SEAHORSE_GKR_TYPE_STR, "commands", NULL, NULL);
}
@@ -192,8 +136,3 @@
* PUBLIC
*/
-SeahorseGkrCommands*
-seahorse_gkr_commands_new (void)
-{
- return g_object_new (SEAHORSE_TYPE_GKR_COMMANDS, NULL);
-}
Copied: trunk/gkr/seahorse-gkr-item-commands.h (from r2667, /trunk/gkr/seahorse-gkr-commands.h)
==============================================================================
--- /trunk/gkr/seahorse-gkr-commands.h (original)
+++ trunk/gkr/seahorse-gkr-item-commands.h Tue Dec 16 03:24:33 2008
@@ -19,34 +19,31 @@
* 02111-1307, USA.
*/
-#ifndef __SEAHORSE_GKR_COMMANDS_H__
-#define __SEAHORSE_GKR_COMMANDS_H__
+#ifndef __SEAHORSE_GKR_ITEM_COMMANDS_H__
+#define __SEAHORSE_GKR_ITEM_COMMANDS_H__
#include "seahorse-commands.h"
#include <glib-object.h>
-#define SEAHORSE_TYPE_GKR_COMMANDS (seahorse_gkr_commands_get_type ())
-#define SEAHORSE_GKR_COMMANDS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_GKR_COMMANDS, SeahorseGkrCommands))
-#define SEAHORSE_GKR_COMMANDS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_GKR_COMMANDS, SeahorseGkrCommandsClass))
-#define SEAHORSE_IS_GKR_COMMANDS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_GKR_COMMANDS))
-#define SEAHORSE_IS_GKR_COMMANDS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_GKR_COMMANDS))
-#define SEAHORSE_GKR_COMMANDS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_GKR_COMMANDS, SeahorseGkrCommandsClass))
-
-typedef struct _SeahorseGkrCommands SeahorseGkrCommands;
-typedef struct _SeahorseGkrCommandsClass SeahorseGkrCommandsClass;
-typedef struct _SeahorseGkrCommandsPrivate SeahorseGkrCommandsPrivate;
-
-struct _SeahorseGkrCommands {
+#define SEAHORSE_TYPE_GKR_ITEM_COMMANDS (seahorse_gkr_item_commands_get_type ())
+#define SEAHORSE_GKR_ITEM_COMMANDS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_GKR_ITEM_COMMANDS, SeahorseGkrItemCommands))
+#define SEAHORSE_GKR_ITEM_COMMANDS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_GKR_ITEM_COMMANDS, SeahorseGkrItemCommandsClass))
+#define SEAHORSE_IS_GKR_ITEM_COMMANDS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_GKR_ITEM_COMMANDS))
+#define SEAHORSE_IS_GKR_ITEM_COMMANDS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_GKR_ITEM_COMMANDS))
+#define SEAHORSE_GKR_ITEM_COMMANDS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_GKR_ITEM_COMMANDS, SeahorseGkrItemCommandsClass))
+
+typedef struct _SeahorseGkrItemCommands SeahorseGkrItemCommands;
+typedef struct _SeahorseGkrItemCommandsClass SeahorseGkrItemCommandsClass;
+
+struct _SeahorseGkrItemCommands {
SeahorseCommands parent;
};
-struct _SeahorseGkrCommandsClass {
+struct _SeahorseGkrItemCommandsClass {
SeahorseCommandsClass parent_class;
};
-GType seahorse_gkr_commands_get_type (void);
-
-SeahorseGkrCommands* seahorse_gkr_commands_new (void);
+GType seahorse_gkr_item_commands_get_type (void);
-#endif /* __SEAHORSE_GKR_COMMANDS_H__ */
+#endif /* __SEAHORSE_GKR_ITEM_COMMANDS_H__ */
Added: trunk/gkr/seahorse-gkr-keyring-commands.c
==============================================================================
--- (empty file)
+++ trunk/gkr/seahorse-gkr-keyring-commands.c Tue Dec 16 03:24:33 2008
@@ -0,0 +1,168 @@
+/*
+ * Seahorse
+ *
+ * Copyright (C) 2008 Stefan Walter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include "seahorse-gkr-keyring-commands.h"
+
+#include "seahorse-gkr.h"
+#include "seahorse-gkr-keyring.h"
+#include "seahorse-gkr-dialogs.h"
+
+#include "common/seahorse-registry.h"
+
+#include "seahorse-source.h"
+#include "seahorse-util.h"
+
+#include <glib/gi18n.h>
+
+enum {
+ PROP_0
+};
+
+G_DEFINE_TYPE (SeahorseGkrKeyringCommands, seahorse_gkr_keyring_commands, SEAHORSE_TYPE_COMMANDS);
+
+/* -----------------------------------------------------------------------------
+ * INTERNAL
+ */
+
+static void
+on_gkr_add_keyring (GtkAction *action, gpointer unused)
+{
+ g_return_if_fail (GTK_IS_ACTION (action));
+ seahorse_gkr_add_keyring_show (NULL);
+}
+
+static const GtkActionEntry ACTION_ENTRIES[] = {
+ { "gkr-add-keyring", "folder", N_ ("Password Keyring"), "",
+ N_("Used to store application and network passwords"), G_CALLBACK (on_gkr_add_keyring) }
+};
+
+/* -----------------------------------------------------------------------------
+ * OBJECT
+ */
+
+static void
+seahorse_gkr_keyring_commands_show_properties (SeahorseCommands* base, SeahorseObject* object)
+{
+ GtkWindow *window;
+
+ g_return_if_fail (SEAHORSE_IS_OBJECT (object));
+ g_return_if_fail (seahorse_object_get_tag (object) == SEAHORSE_GKR_TYPE);
+
+ window = seahorse_view_get_window (seahorse_commands_get_view (base));
+ if (G_OBJECT_TYPE (object) == SEAHORSE_TYPE_GKR_KEYRING)
+ seahorse_gkr_keyring_properties_show (SEAHORSE_GKR_KEYRING (object), window);
+
+ else
+ g_return_if_reached ();
+}
+
+static SeahorseOperation*
+seahorse_gkr_keyring_commands_delete_objects (SeahorseCommands* base, GList* objects)
+{
+ gchar *prompt;
+
+ if (!objects)
+ return NULL;
+
+ prompt = g_strdup_printf (_ ("Are you sure you want to delete the password keyring '%s'?"),
+ seahorse_object_get_label (objects->data));
+
+ return seahorse_object_delete (objects->data);
+}
+
+static GObject*
+seahorse_gkr_keyring_commands_constructor (GType type, guint n_props, GObjectConstructParam *props)
+{
+ GObject *obj = G_OBJECT_CLASS (seahorse_gkr_keyring_commands_parent_class)->constructor (type, n_props, props);
+ SeahorseCommands *base = NULL;
+ SeahorseView *view;
+
+ if (obj) {
+ base = SEAHORSE_COMMANDS (obj);
+ view = seahorse_commands_get_view (base);
+ g_return_val_if_fail (view, NULL);
+ seahorse_view_register_commands (view, base, SEAHORSE_TYPE_GKR_KEYRING);
+ }
+
+ return obj;
+}
+
+static void
+seahorse_gkr_keyring_commands_init (SeahorseGkrKeyringCommands *self)
+{
+
+}
+
+static void
+seahorse_gkr_keyring_commands_set_property (GObject *obj, guint prop_id, const GValue *value,
+ GParamSpec *pspec)
+{
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+seahorse_gkr_keyring_commands_get_property (GObject *obj, guint prop_id, GValue *value,
+ GParamSpec *pspec)
+{
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+seahorse_gkr_keyring_commands_class_init (SeahorseGkrKeyringCommandsClass *klass)
+{
+ GtkActionGroup *actions;
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ SeahorseCommandsClass *cmd_class = SEAHORSE_COMMANDS_CLASS (klass);
+
+ seahorse_gkr_keyring_commands_parent_class = g_type_class_peek_parent (klass);
+
+ gobject_class->constructor = seahorse_gkr_keyring_commands_constructor;
+
+ cmd_class->show_properties = seahorse_gkr_keyring_commands_show_properties;
+ cmd_class->delete_objects = seahorse_gkr_keyring_commands_delete_objects;
+
+ /* Register this class as a commands */
+ seahorse_registry_register_type (seahorse_registry_get (), SEAHORSE_TYPE_GKR_KEYRING_COMMANDS,
+ SEAHORSE_GKR_TYPE_STR, "commands", NULL, NULL);
+
+
+ /* Register this as a generator */
+ actions = gtk_action_group_new ("gkr-generate");
+ gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE);
+ gtk_action_group_add_actions (actions, ACTION_ENTRIES, G_N_ELEMENTS (ACTION_ENTRIES), NULL);
+ seahorse_registry_register_object (NULL, G_OBJECT (actions), SEAHORSE_GKR_TYPE_STR, "generator", NULL);
+}
+
+/* -----------------------------------------------------------------------------
+ * PUBLIC
+ */
+
+
Added: trunk/gkr/seahorse-gkr-keyring-commands.h
==============================================================================
--- (empty file)
+++ trunk/gkr/seahorse-gkr-keyring-commands.h Tue Dec 16 03:24:33 2008
@@ -0,0 +1,52 @@
+/*
+ * Seahorse
+ *
+ * Copyright (C) 2008 Stefan Walter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef __SEAHORSE_GKR_KEYRING_COMMANDS_H__
+#define __SEAHORSE_GKR_KEYRING_COMMANDS_H__
+
+#include "seahorse-commands.h"
+
+#include <glib-object.h>
+
+#define SEAHORSE_TYPE_GKR_KEYRING_COMMANDS (seahorse_gkr_keyring_commands_get_type ())
+#define SEAHORSE_GKR_KEYRING_COMMANDS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_GKR_KEYRING_COMMANDS, SeahorseGkrKeyringCommands))
+#define SEAHORSE_GKR_KEYRING_COMMANDS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_GKR_KEYRING_COMMANDS, SeahorseGkrKeyringCommandsClass))
+#define SEAHORSE_IS_GKR_KEYRING_COMMANDS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_GKR_KEYRING_COMMANDS))
+#define SEAHORSE_IS_GKR_KEYRING_COMMANDS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_GKR_KEYRING_COMMANDS))
+#define SEAHORSE_GKR_KEYRING_COMMANDS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_GKR_KEYRING_COMMANDS, SeahorseGkrKeyringCommandsClass))
+
+typedef struct _SeahorseGkrKeyringCommands SeahorseGkrKeyringCommands;
+typedef struct _SeahorseGkrKeyringCommandsClass SeahorseGkrKeyringCommandsClass;
+typedef struct _SeahorseGkrKeyringCommandsPrivate SeahorseGkrKeyringCommandsPrivate;
+
+struct _SeahorseGkrKeyringCommands {
+ SeahorseCommands parent;
+};
+
+struct _SeahorseGkrKeyringCommandsClass {
+ SeahorseCommandsClass parent_class;
+};
+
+GType seahorse_gkr_keyring_commands_get_type (void);
+
+SeahorseGkrKeyringCommands* seahorse_gkr_keyring_commands_new (void);
+
+#endif /* __SEAHORSE_GKR_KEYRING_COMMANDS_H__ */
Modified: trunk/gkr/seahorse-gkr-module.c
==============================================================================
--- trunk/gkr/seahorse-gkr-module.c (original)
+++ trunk/gkr/seahorse-gkr-module.c Tue Dec 16 03:24:33 2008
@@ -23,7 +23,9 @@
#include "seahorse-gkr-module.h"
-#include "seahorse-gkr-commands.h"
+#include "seahorse-gkr-dialogs.h"
+#include "seahorse-gkr-item-commands.h"
+#include "seahorse-gkr-keyring-commands.h"
#include "seahorse-gkr-source.h"
#include "seahorse-context.h"
@@ -40,5 +42,6 @@
/* Let these classes register themselves */
g_type_class_unref (g_type_class_ref (SEAHORSE_TYPE_GKR_SOURCE));
- g_type_class_unref (g_type_class_ref (SEAHORSE_TYPE_GKR_COMMANDS));
+ g_type_class_unref (g_type_class_ref (SEAHORSE_TYPE_GKR_ITEM_COMMANDS));
+ g_type_class_unref (g_type_class_ref (SEAHORSE_TYPE_GKR_KEYRING_COMMANDS));
}
Modified: trunk/gkr/seahorse-gkr-module.h
==============================================================================
--- trunk/gkr/seahorse-gkr-module.h (original)
+++ trunk/gkr/seahorse-gkr-module.h Tue Dec 16 03:24:33 2008
@@ -25,6 +25,6 @@
#define SEAHORSE_GKR_STR "gnome-keyring"
#define SEAHORSE_GKR (g_quark_from_static_string (SEAHORSE_GKR_STR))
-void seahorse_gkr_module_init (void);
+void seahorse_gkr_module_init (void);
#endif /*SEAHORSEGKR_H_*/
Modified: trunk/libseahorse/Makefile.am
==============================================================================
--- trunk/libseahorse/Makefile.am (original)
+++ trunk/libseahorse/Makefile.am Tue Dec 16 03:24:33 2008
@@ -45,7 +45,6 @@
seahorse-operation.c seahorse-operation.h \
seahorse-passphrase.c seahorse-passphrase.h \
seahorse-prefs.c seahorse-prefs.h \
- seahorse-prefs-keyrings.c \
seahorse-progress.c seahorse-progress.h \
seahorse-secure-memory.c seahorse-secure-memory.h \
seahorse-secure-entry.c seahorse-secure-entry.h \
@@ -78,7 +77,6 @@
glade_DATA = \
seahorse-prefs.glade \
- seahorse-add-keyring.glade \
seahorse-add-keyserver.glade \
seahorse-progress.glade \
seahorse-notify.glade
Modified: trunk/libseahorse/seahorse-prefs.c
==============================================================================
--- trunk/libseahorse/seahorse-prefs.c (original)
+++ trunk/libseahorse/seahorse-prefs.c Tue Dec 16 03:24:33 2008
@@ -37,9 +37,6 @@
/* From seahorse-prefs-cache.c */
void seahorse_prefs_cache (SeahorseWidget *widget);
-/* From sehorse-prefs-keyrings.c */
-void seahorse_prefs_keyrings (SeahorseWidget *widget);
-
/* Key Server Prefs --------------------------------------------------------- */
#ifdef WITH_KEYSERVER
@@ -502,8 +499,6 @@
seahorse_prefs_remove_tab (swidget, widget);
#endif
- seahorse_prefs_keyrings (swidget);
-
seahorse_widget_show (swidget);
return swidget;
}
Modified: trunk/libseahorse/seahorse-prefs.glade
==============================================================================
--- trunk/libseahorse/seahorse-prefs.glade (original)
+++ trunk/libseahorse/seahorse-prefs.glade Tue Dec 16 03:24:33 2008
@@ -81,490 +81,6 @@
<property name="enable_popup">False</property>
<child>
- <widget class="GtkEventBox" id="keyring-tab">
- <property name="visible">True</property>
- <property name="visible_window">True</property>
- <property name="above_child">False</property>
-
- <child>
- <widget class="GtkVBox" id="vbox333">
- <property name="border_width">12</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkFrame" id="keyring-frame">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment7">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">6</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox29">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="keyring-list">
- <property name="height_request">150</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox13">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkButton" id="add-keyring">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="keyring_add_clicked" last_modification_time="Sat, 08 Dec 2007 20:52:46 GMT"/>
-
- <child>
- <widget class="GtkAlignment" id="alignment5">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image5">
- <property name="visible">True</property>
- <property name="stock">gtk-add</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label25">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Add Keyring</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="remove-keyring">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="keyring_remove_clicked" last_modification_time="Sat, 08 Dec 2007 20:52:58 GMT"/>
-
- <child>
- <widget class="GtkAlignment" id="alignment6">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox12">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image6">
- <property name="visible">True</property>
- <property name="stock">gtk-remove</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label26">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Remove Keyring</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="password-keyring">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="keyring_password_clicked" last_modification_time="Sat, 08 Dec 2007 20:53:08 GMT"/>
-
- <child>
- <widget class="GtkAlignment" id="alignment4">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox10">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-authentication</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label24">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Change Unlock _Password</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label27">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Password Keyrings</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment8">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">6</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="label29">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Location for application passwords:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBox" id="default-keyring">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label28">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Default Keyring</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Password Keyrings</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
-
- <child>
<widget class="GtkTable" id="keyserver-tab">
<property name="border_width">12</property>
<property name="visible">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]