Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 275171 Details for
Bug 212845
Make it possible to change keyring password
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Add change password to menu
gnome-keyring-manager-2.20.0-chpasswd.patch (text/plain), 27.87 KB, created by
Denis Leroy
on 2007-12-03 00:31:50 UTC
(
hide
)
Description:
Add change password to menu
Filename:
MIME Type:
Creator:
Denis Leroy
Created:
2007-12-03 00:31:50 UTC
Size:
27.87 KB
patch
obsolete
>Index: src/gnome-keyring-manager-changepass-keyring-dialog.c >=================================================================== >--- src/gnome-keyring-manager-changepass-keyring-dialog.c (révision 0) >+++ src/gnome-keyring-manager-changepass-keyring-dialog.c (révision 0) >@@ -0,0 +1,190 @@ >+/* >+ Copyright (C) 2005 James Bowes <bowes@cs.dal.ca> >+ Copyright (C) 2005 GNOME Love Project <gnome-love@gnome.org> >+ >+ 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 <stdlib.h> >+ >+#include <glib/gi18n.h> >+#include <glade/glade.h> >+ >+#include "gnome-keyring-manager-util.h" >+ >+#include "gnome-keyring-manager-changepass-keyring-dialog.h" >+ >+#define GLADE_ROOT "changepass_keyring_dialog" >+ >+typedef struct _GKMChangepassKeyringDialogPrivate GKMChangepassKeyringDialogPrivate; >+ >+struct _GKMChangepassKeyringDialogPrivate >+{ >+ GtkWidget *dialog; >+ GtkWidget *original_entry; >+ GtkWidget *password_entry; >+ GtkWidget *confirm_entry; >+ GtkWidget *change_button; >+ >+ gchar *name_entry; >+ gboolean has_original; >+ gboolean passwords_match; >+}; >+ >+static void gkm_changepass_keyring_dialog_connect_signals (GKMChangepassKeyringDialogPrivate *priv); >+ >+GtkWidget * >+gkm_changepass_keyring_dialog_new (gchar *name) >+{ >+ GKMChangepassKeyringDialogPrivate *priv; >+ GladeXML *xml; >+ >+ priv = g_new0 (GKMChangepassKeyringDialogPrivate, 1); >+ >+ xml = glade_xml_new (GLADEDIR GLADEFILE, >+ GLADE_ROOT, NULL); >+ >+ if(!xml) >+ { >+ g_warning ("Unable to load the glade file. Your install is broken."); >+ exit (1); >+ } >+ >+ priv->dialog = glade_xml_get_widget (xml, GLADE_ROOT); >+ >+ priv->name_entry = g_strdup(name); >+ priv->original_entry = glade_xml_get_widget (xml, "original_entry"); >+ priv->password_entry = glade_xml_get_widget (xml, "password_entry"); >+ priv->confirm_entry = glade_xml_get_widget (xml, "confirm_entry"); >+ >+ priv->change_button = glade_xml_get_widget (xml, "change_button"); >+ /* FIXME: This should be done in the glade file */ >+ gtk_widget_set_sensitive (priv->change_button, FALSE); >+ >+ priv->has_original = FALSE; >+ priv->passwords_match = FALSE; >+ >+ g_object_set_data (G_OBJECT (priv->dialog), "ckd-priv", priv); >+ >+ g_object_unref (xml); >+ >+ gkm_changepass_keyring_dialog_connect_signals (priv); >+ >+ return priv->dialog; >+} >+ >+gchar * >+gkm_changepass_keyring_dialog_get_name (GKMChangepassKeyringDialog *dialog) >+{ >+ GKMChangepassKeyringDialogPrivate *priv; >+ >+ priv = g_object_get_data (G_OBJECT (dialog), "ckd-priv"); >+ >+ return g_strdup (priv->name_entry); >+} >+ >+gchar * >+gkm_changepass_keyring_dialog_get_original (GKMChangepassKeyringDialog *dialog) >+{ >+ GKMChangepassKeyringDialogPrivate *priv; >+ >+ priv = g_object_get_data (G_OBJECT (dialog), "ckd-priv"); >+ >+ return g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->original_entry))); >+} >+ >+gchar * >+gkm_changepass_keyring_dialog_get_password (GKMChangepassKeyringDialog *dialog) >+{ >+ GKMChangepassKeyringDialogPrivate *priv; >+ >+ priv = g_object_get_data (G_OBJECT (dialog), "ckd-priv"); >+ >+ return g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->password_entry))); >+} >+ >+static void >+on_destroy_cb (GtkWidget *dialog G_GNUC_UNUSED, >+ GKMChangepassKeyringDialogPrivate *priv) >+{ >+ g_free (priv); >+} >+ >+static void >+on_password_entry_changed_cb (GtkWidget *widget G_GNUC_UNUSED, >+ GKMChangepassKeyringDialogPrivate *priv) >+{ >+ const gchar *password_text; >+ const gchar *confirm_text; >+ >+ password_text = gtk_entry_get_text (GTK_ENTRY (priv->password_entry)); >+ confirm_text = gtk_entry_get_text (GTK_ENTRY (priv->confirm_entry)); >+ >+ if (g_str_equal (password_text, confirm_text) && !g_str_equal (password_text, "")) >+ { >+ priv->passwords_match = TRUE; >+ } >+ else >+ { >+ priv->passwords_match = FALSE; >+ } >+ >+ gtk_widget_set_sensitive (priv->change_button, >+ priv->passwords_match && priv->has_original); >+} >+ >+static void >+on_original_entry_changed_cb (GtkWidget *widget G_GNUC_UNUSED, >+ GKMChangepassKeyringDialogPrivate *priv) >+{ >+ const gchar *original_text; >+ >+ original_text = gtk_entry_get_text (GTK_ENTRY (priv->original_entry)); >+ >+ if (!g_str_equal (original_text, "")) >+ { >+ priv->has_original = TRUE; >+ } >+ else >+ { >+ priv->has_original = FALSE; >+ } >+ >+ gtk_widget_set_sensitive (priv->change_button, >+ priv->passwords_match && priv->has_original); >+} >+ >+static void >+gkm_changepass_keyring_dialog_connect_signals (GKMChangepassKeyringDialogPrivate *priv) >+{ >+ g_signal_connect (G_OBJECT (priv->dialog), >+ "destroy", >+ G_CALLBACK (on_destroy_cb), >+ priv); >+ >+ g_signal_connect (G_OBJECT (priv->original_entry), >+ "changed", >+ G_CALLBACK (on_original_entry_changed_cb), >+ priv); >+ >+ g_signal_connect (G_OBJECT (priv->password_entry), >+ "changed", >+ G_CALLBACK (on_password_entry_changed_cb), >+ priv); >+ g_signal_connect (G_OBJECT (priv->confirm_entry), >+ "changed", >+ G_CALLBACK (on_password_entry_changed_cb), >+ priv); >+} >Index: src/gnome-keyring-manager-keyring-manager.c >=================================================================== >--- src/gnome-keyring-manager-keyring-manager.c (révision 477) >+++ src/gnome-keyring-manager-keyring-manager.c (copie de travail) >@@ -241,7 +241,56 @@ > data, (GDestroyNotify) create_keyring_callback_data_free); > } > >+ > /******************************************************************** >+ * Changing a keyring password >+ */ >+ >+typedef struct _ChangepassKeyringCallbackData >+{ >+ GKMKeyringManager *manager; >+ gchar *keyring_name; >+ GtkTreeIter iter; >+} ChangepassKeyringCallbackData; >+ >+static void >+changepass_keyring_callback_data_free (ChangepassKeyringCallbackData *data) >+{ >+ g_free (data->keyring_name); >+ g_free (data); >+} >+ >+static void >+changepass_keyring_callback (GnomeKeyringResult result, >+ ChangepassKeyringCallbackData *data) >+{ >+ if (result != GNOME_KEYRING_RESULT_OK) >+ { >+ complain_about_gnome_keyring_bad_result (NULL, result); >+ >+ return; >+ } >+ gkm_keyring_manager_update_keyring_info (data->manager, data->keyring_name, NULL); >+} >+ >+void >+gkm_keyring_manager_changepass_keyring (GKMKeyringManager *self, >+ const gchar *name, >+ const gchar *original, >+ const gchar *password) >+{ >+ ChangepassKeyringCallbackData *data; >+ >+ data = g_new0 (ChangepassKeyringCallbackData, 1); >+ data->manager = self; >+ data->keyring_name = g_strdup (name); >+ >+ gnome_keyring_change_password (name, original, password, >+ (GnomeKeyringOperationDoneCallback) changepass_keyring_callback, >+ data, (GDestroyNotify) changepass_keyring_callback_data_free); >+} >+ >+/******************************************************************** > * Deleting keyrings > */ > >Index: src/gnome-keyring-manager-changepass-keyring-dialog.h >=================================================================== >--- src/gnome-keyring-manager-changepass-keyring-dialog.h (révision 0) >+++ src/gnome-keyring-manager-changepass-keyring-dialog.h (révision 0) >@@ -0,0 +1,40 @@ >+/* >+ Copyright (C) 2005 James Bowes <bowes@cs.dal.ca> >+ Copyright (C) 2005 GNOME Love Project <gnome-love@gnome.org> >+ >+ 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. >+*/ >+ >+#ifndef GKM_CHANGEPASS_KEYRING_DIALOG_H >+#define GKM_CHANGEPASS_KEYRING_DIALOG_H >+ >+#include <config.h> >+ >+#include <gtk/gtk.h> >+ >+G_BEGIN_DECLS >+ >+/* This guy's tiny, but let's present an interface like the rest */ >+#define GKMChangepassKeyringDialog GtkDialog >+ >+GtkWidget *gkm_changepass_keyring_dialog_new (gchar *name); >+ >+gchar *gkm_changepass_keyring_dialog_get_name (GKMChangepassKeyringDialog *dialog); >+gchar *gkm_changepass_keyring_dialog_get_original (GKMChangepassKeyringDialog *dialog); >+gchar *gkm_changepass_keyring_dialog_get_password (GKMChangepassKeyringDialog *dialog); >+ >+G_END_DECLS >+ >+#endif >Index: src/gnome-keyring-manager-keyring-manager.h >=================================================================== >--- src/gnome-keyring-manager-keyring-manager.h (révision 477) >+++ src/gnome-keyring-manager-keyring-manager.h (copie de travail) >@@ -72,10 +72,14 @@ > void gkm_keyring_manager_create_keyring (GKMKeyringManager *self, > const gchar *name, > const gchar *password); >+ >+void gkm_keyring_manager_changepass_keyring (GKMKeyringManager *self, >+ const gchar *name, >+ const gchar *original, >+ const gchar *password); > > void gkm_keyring_manager_delete_keyring (GKMKeyringManager *self, > GtkTreeIter iter); >- > G_END_DECLS > > #endif >Index: src/gnome-keyring-manager-main-ui.c >=================================================================== >--- src/gnome-keyring-manager-main-ui.c (révision 477) >+++ src/gnome-keyring-manager-main-ui.c (copie de travail) >@@ -32,6 +32,7 @@ > #include "gnome-keyring-manager-acl-display.h" > #include "gnome-keyring-manager-attribute-display.h" > #include "gnome-keyring-manager-create-keyring-dialog.h" >+#include "gnome-keyring-manager-changepass-keyring-dialog.h" > #include "gnome-keyring-manager-keyring-editor.h" > #include "gnome-keyring-manager-keyring-manager.h" > >@@ -609,6 +610,77 @@ > gtk_window_present (GTK_WINDOW (dialog)); > } > >+typedef struct _ChangepassActionCBData >+{ >+ gpointer object; >+ GtkTreeIter iter; >+} ChangepassActionCBData; >+ >+static void >+changepass_keyring_dialog_cb (GtkDialog *dialog, >+ gint response_id, >+ GKMMainUI *self) >+{ >+ gchar *name; >+ gchar *original; >+ gchar *password; >+ >+ switch (response_id) >+ { >+ case GTK_RESPONSE_DELETE_EVENT: >+ case GTK_RESPONSE_CANCEL: >+ break; >+ case GTK_RESPONSE_ACCEPT: >+ name = gkm_changepass_keyring_dialog_get_name (dialog); >+ original = gkm_changepass_keyring_dialog_get_original (dialog); >+ password = gkm_changepass_keyring_dialog_get_password (dialog); >+ >+ gkm_keyring_manager_changepass_keyring (GKM_KEYRING_MANAGER (self->priv->manager), >+ name, original, password); >+ >+ g_free (name); >+ g_free (original); >+ g_free (password); >+ break; >+ default: >+ g_assert_not_reached (); >+ } >+ >+ gtk_widget_destroy (GTK_WIDGET (dialog)); >+} >+ >+static void >+on_changepass_keyring_activate (GtkWidget *widget G_GNUC_UNUSED, >+ GKMMainUI *self) >+{ >+ GtkWidget *dialog; >+ GtkTreeSelection *selection; >+ ChangepassActionCBData *data; >+ GtkTreeModel *model; >+ gchar *name; >+ >+ data = g_new0 (ChangepassActionCBData, 1); >+ data->object = self->priv->manager; >+ >+ selection = >+ gtk_tree_view_get_selection (GTK_TREE_VIEW (self->priv->keyrings_treeview)); >+ >+ if (gtk_tree_selection_get_selected (selection, &model, &data->iter)) >+ { >+ gtk_tree_model_get (model, &data->iter, >+ MANAGER_COLUMN_KEYRING, &name, -1); >+ } >+ >+ dialog = gkm_changepass_keyring_dialog_new (name); >+ >+ g_signal_connect (G_OBJECT (dialog), >+ "response", >+ G_CALLBACK (changepass_keyring_dialog_cb), >+ self); >+ >+ gtk_window_present (GTK_WINDOW (dialog)); >+} >+ > /* Deleting a key or keyring */ > > typedef struct _DeleteActionCBData >@@ -725,7 +797,6 @@ > _("Deleting a keyring cannot be undone."), > data, selection, MANAGER_COLUMN_KEYRING); > } >- > /* End manager menu functions */ > > /* View menu functions */ >@@ -848,9 +919,13 @@ > gboolean sensitive) > { > GtkAction *action; >+ GtkAction *action1; > action = gtk_action_group_get_action (self->priv->action_group, >+ "ChangepassKeyring"); >+ action1 = gtk_action_group_get_action (self->priv->action_group, > "DeleteKeyring"); > gtk_action_set_sensitive (action, sensitive); >+ gtk_action_set_sensitive (action1, sensitive); > } > > static void >@@ -1102,6 +1177,7 @@ > { "NewKeyring", GKM_STOCK_NEW_KEYRING, N_("New _Keyring"), "<control><shift>N", NULL, G_CALLBACK (on_new_keyring_activate) }, > { "DeleteKey", GKM_STOCK_DELETE_KEY, N_("_Delete Key"), NULL, NULL, G_CALLBACK (on_delete_key_activate) }, > { "DeleteKeyring", GKM_STOCK_DELETE_KEYRING, N_("D_elete Keyring"), NULL, NULL, G_CALLBACK (on_delete_keyring_activate) }, >+ { "ChangepassKeyring", NULL, N_("Change Keyring _Password"), NULL, NULL, G_CALLBACK (on_changepass_keyring_activate) }, > { "Close", GTK_STOCK_CLOSE, NULL, NULL, NULL, G_CALLBACK (on_gkm_window_destroy) }, > > { "Undo", GTK_STOCK_UNDO, NULL, NULL, NULL, NULL }, >Index: src/Makefile.am >=================================================================== >--- src/Makefile.am (révision 477) >+++ src/Makefile.am (copie de travail) >@@ -31,6 +31,8 @@ > gnome-keyring-manager-acl-display.h \ > gnome-keyring-manager-attribute-display.c \ > gnome-keyring-manager-attribute-display.h \ >+ gnome-keyring-manager-changepass-keyring-dialog.c \ >+ gnome-keyring-manager-changepass-keyring-dialog.h \ > gnome-keyring-manager-create-keyring-dialog.c \ > gnome-keyring-manager-create-keyring-dialog.h \ > gnome-keyring-manager-keyring-editor.c \ >Index: data/gnome-keyring-manager-ui.xml >=================================================================== >--- data/gnome-keyring-manager-ui.xml (révision 477) >+++ data/gnome-keyring-manager-ui.xml (copie de travail) >@@ -6,6 +6,8 @@ > --> > <menuitem action='NewKeyring' /> > <separator/> >+ <menuitem action="ChangepassKeyring" /> >+ <separator/> > <menuitem action='DeleteKey' /> > <menuitem action='DeleteKeyring' /> > <separator/> >Index: data/gnome-keyring-manager.glade >=================================================================== >--- data/gnome-keyring-manager.glade (révision 477) >+++ data/gnome-keyring-manager.glade (copie de travail) >@@ -302,6 +302,308 @@ > </child> > </widget> > >+<widget class="GtkDialog" id="changepass_keyring_dialog"> >+ <property name="border_width">6</property> >+ <property name="visible">True</property> >+ <property name="title" translatable="yes"></property> >+ <property name="type">GTK_WINDOW_TOPLEVEL</property> >+ <property name="window_position">GTK_WIN_POS_NONE</property> >+ <property name="modal">False</property> >+ <property name="resizable">False</property> >+ <property name="destroy_with_parent">False</property> >+ <property name="decorated">True</property> >+ <property name="skip_taskbar_hint">True</property> >+ <property name="skip_pager_hint">False</property> >+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> >+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> >+ <property name="focus_on_map">True</property> >+ <property name="urgency_hint">False</property> >+ <property name="has_separator">False</property> >+ >+ <child internal-child="vbox"> >+ <widget class="GtkVBox" id="vbox2"> >+ <property name="visible">True</property> >+ <property name="homogeneous">False</property> >+ <property name="spacing">12</property> >+ >+ <child internal-child="action_area"> >+ <widget class="GtkHButtonBox" id="hbuttonbox1"> >+ <property name="visible">True</property> >+ <property name="layout_style">GTK_BUTTONBOX_END</property> >+ >+ <child> >+ <widget class="GtkButton" id="cancel_button"> >+ <property name="visible">True</property> >+ <property name="can_default">True</property> >+ <property name="can_focus">True</property> >+ <property name="label">gtk-cancel</property> >+ <property name="use_stock">True</property> >+ <property name="relief">GTK_RELIEF_NORMAL</property> >+ <property name="focus_on_click">True</property> >+ <property name="response_id">-6</property> >+ </widget> >+ </child> >+ >+ <child> >+ <widget class="GtkButton" id="change_button"> >+ <property name="visible">True</property> >+ <property name="sensitive">False</property> >+ <property name="can_default">True</property> >+ <property name="can_focus">True</property> >+ <property name="label" translatable="yes">Change _Password</property> >+ <property name="use_underline">True</property> >+ <property name="relief">GTK_RELIEF_NORMAL</property> >+ <property name="focus_on_click">True</property> >+ <property name="response_id">-3</property> >+ </widget> >+ </child> >+ </widget> >+ <packing> >+ <property name="padding">6</property> >+ <property name="expand">False</property> >+ <property name="fill">True</property> >+ <property name="pack_type">GTK_PACK_END</property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkHBox" id="hbox4"> >+ <property name="visible">True</property> >+ <property name="homogeneous">False</property> >+ <property name="spacing">12</property> >+ >+ <child> >+ <widget class="GtkImage" id="image3"> >+ <property name="visible">True</property> >+ <property name="stock">gnome-stock-authentication</property> >+ <property name="icon_size">6</property> >+ <property name="xalign">0.5</property> >+ <property name="yalign">0</property> >+ <property name="xpad">0</property> >+ <property name="ypad">0</property> >+ </widget> >+ <packing> >+ <property name="padding">0</property> >+ <property name="expand">True</property> >+ <property name="fill">True</property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkVBox" id="vbox3"> >+ <property name="visible">True</property> >+ <property name="homogeneous">False</property> >+ <property name="spacing">0</property> >+ >+ <child> >+ <widget class="GtkLabel" id="label48"> >+ <property name="visible">True</property> >+ <property name="label" translatable="yes"><span weight="bold" size="larger">Change the keyring's password</span> >+ >+The original and new passwords must be provided to change the password for this keyring.</property> >+ <property name="use_underline">False</property> >+ <property name="use_markup">True</property> >+ <property name="justify">GTK_JUSTIFY_LEFT</property> >+ <property name="wrap">True</property> >+ <property name="selectable">False</property> >+ <property name="xalign">0</property> >+ <property name="yalign">0</property> >+ <property name="xpad">0</property> >+ <property name="ypad">12</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="GtkTable" id="table10"> >+ <property name="visible">True</property> >+ <property name="n_rows">3</property> >+ <property name="n_columns">2</property> >+ <property name="homogeneous">False</property> >+ <property name="row_spacing">6</property> >+ <property name="column_spacing">6</property> >+ >+ <child> >+ <widget class="GtkLabel" id="label49"> >+ <property name="visible">True</property> >+ <property name="label" translatable="yes">_Original 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</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="left_attach">0</property> >+ <property name="right_attach">1</property> >+ <property name="top_attach">0</property> >+ <property name="bottom_attach">1</property> >+ <property name="x_options">fill</property> >+ <property name="y_options"></property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkLabel" id="label50"> >+ <property name="visible">True</property> >+ <property name="label" translatable="yes">_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</property> >+ <property name="yalign">0.5</property> >+ <property name="xpad">0</property> >+ <property name="ypad">0</property> >+ <property name="mnemonic_widget">password_entry</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="left_attach">0</property> >+ <property name="right_attach">1</property> >+ <property name="top_attach">1</property> >+ <property name="bottom_attach">2</property> >+ <property name="x_options">fill</property> >+ <property name="y_options"></property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkLabel" id="label51"> >+ <property name="visible">True</property> >+ <property name="label" translatable="yes">C_onfirm 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</property> >+ <property name="yalign">0.5</property> >+ <property name="xpad">0</property> >+ <property name="ypad">0</property> >+ <property name="mnemonic_widget">confirm_entry</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="left_attach">0</property> >+ <property name="right_attach">1</property> >+ <property name="top_attach">2</property> >+ <property name="bottom_attach">3</property> >+ <property name="x_options">fill</property> >+ <property name="y_options"></property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkEntry" id="original_entry"> >+ <property name="visible">True</property> >+ <property name="can_focus">True</property> >+ <property name="editable">True</property> >+ <property name="visibility">False</property> >+ <property name="max_length">0</property> >+ <property name="text" translatable="yes"></property> >+ <property name="has_frame">True</property> >+ <property name="invisible_char">*</property> >+ <property name="activates_default">False</property> >+ </widget> >+ <packing> >+ <property name="left_attach">1</property> >+ <property name="right_attach">2</property> >+ <property name="top_attach">0</property> >+ <property name="bottom_attach">1</property> >+ <property name="y_options"></property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkEntry" id="password_entry"> >+ <property name="visible">True</property> >+ <property name="can_focus">True</property> >+ <property name="editable">True</property> >+ <property name="visibility">False</property> >+ <property name="max_length">0</property> >+ <property name="text" translatable="yes"></property> >+ <property name="has_frame">True</property> >+ <property name="invisible_char">*</property> >+ <property name="activates_default">False</property> >+ </widget> >+ <packing> >+ <property name="left_attach">1</property> >+ <property name="right_attach">2</property> >+ <property name="top_attach">1</property> >+ <property name="bottom_attach">2</property> >+ <property name="y_options"></property> >+ </packing> >+ </child> >+ >+ <child> >+ <widget class="GtkEntry" id="confirm_entry"> >+ <property name="visible">True</property> >+ <property name="can_focus">True</property> >+ <property name="editable">True</property> >+ <property name="visibility">False</property> >+ <property name="max_length">0</property> >+ <property name="text" translatable="yes"></property> >+ <property name="has_frame">True</property> >+ <property name="invisible_char">*</property> >+ <property name="activates_default">False</property> >+ </widget> >+ <packing> >+ <property name="left_attach">1</property> >+ <property name="right_attach">2</property> >+ <property name="top_attach">2</property> >+ <property name="bottom_attach">3</property> >+ <property name="y_options"></property> >+ </packing> >+ </child> >+ </widget> >+ <packing> >+ <property name="padding">0</property> >+ <property name="expand">True</property> >+ <property name="fill">True</property> >+ </packing> >+ </child> >+ </widget> >+ <packing> >+ <property name="padding">0</property> >+ <property name="expand">True</property> >+ <property name="fill">True</property> >+ </packing> >+ </child> >+ </widget> >+ <packing> >+ <property name="padding">0</property> >+ <property name="expand">True</property> >+ <property name="fill">True</property> >+ </packing> >+ </child> >+ </widget> >+ </child> >+</widget> >+ > <widget class="GtkWindow" id="attributes-display"> > <property name="visible">True</property> > <property name="title" translatable="yes">window1</property> >--- src/Makefile.in.orig 2007-12-03 01:16:47.000000000 +0100 >+++ src/Makefile.in 2007-12-03 01:17:38.000000000 +0100 >@@ -49,6 +49,7 @@ > gnome-keyring-manager-util.$(OBJEXT) \ > gnome-keyring-manager-acl-display.$(OBJEXT) \ > gnome-keyring-manager-attribute-display.$(OBJEXT) \ >+ gnome-keyring-manager-changepass-keyring-dialog.$(OBJEXT) \ > gnome-keyring-manager-create-keyring-dialog.$(OBJEXT) \ > gnome-keyring-manager-keyring-editor.$(OBJEXT) \ > gnome-keyring-manager-keyring-manager.$(OBJEXT) \ >@@ -245,6 +246,8 @@ > gnome-keyring-manager-acl-display.h \ > gnome-keyring-manager-attribute-display.c \ > gnome-keyring-manager-attribute-display.h \ >+ gnome-keyring-manager-changepass-keyring-dialog.c \ >+ gnome-keyring-manager-changepass-keyring-dialog.h \ > gnome-keyring-manager-create-keyring-dialog.c \ > gnome-keyring-manager-create-keyring-dialog.h \ > gnome-keyring-manager-keyring-editor.c \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 212845
: 275171