GNOME Bugzilla – Bug 524018
[PATCH] drop libgnome/ui usage from seahorse
Last modified: 2008-05-05 00:33:45 UTC
This is a quick patch that drops the usage of libgnome/ui. The GnomeDateEdit usage has been replaced with EggDateTime.
Created attachment 107881 [details] [review] seahorse-svn-2154-no-libgnome.patch
Use gtk_init_with_args instead of gtk_init to keep command line parameters. Casting widgets returned by libglade to Egg_Datetime will cause problems since when the windows/dialogs are substantiated they will have the wrong types. Other than those items the patch looks fine. I did not apply or attempt to build with this patch. Thanks for the work so far.
Hmm..not sure how I missed the glade files during the conversion. That needs to definitely be fixed. Adding the updated patch with the trivial fixes for the gtk_init to gtk_init_with_args.
Created attachment 107894 [details] [review] seahorse-svn-2154-no-libgnome.patch
The updated patch looks good. The way we've handled the problem of custom widgets in glade previously is to create a named container in the glade file, pack the custom widget in the container when the glade file is instantiated, to retrieve the widget later, either a data property is set on the swidget or the container is refetched and a request for its child is made.
Created attachment 108204 [details] [review] seahorse-svn-2156-no-libgnome.patch Updating patch with fixes for the previously specified issues. However, it so turns out that its not enough. Two glade files still have GnomeApp (libgnome) references :-(
Created attachment 108244 [details] [review] seahorse-svn-2156-no-libgnome.patch Okay, all references to libgnome should be gone at this point.
Indenting style: Please edit the patch to match the indenting style of the rest of the code. seahorse_add_subkey_get_expires (and others) should work because freeing the list doesn't free the children's data. The comment got my attention, but please remove it from the final patch. Other than the indenting it looks like the patch is in pretty good shape and is ready for some testing.
Alright, updated the indenting. Fixed a minor UI issue with the glade (I had accidentally left the menubar and toolbar holders as expandable. Removed the specified comments.
Created attachment 108744 [details] [review] seahorse-svn-2162-no-libgnome.patch
Comments on patch: * Window size isn't persistent anymore. (or is that an effect) * Context menus are no longer present * On the key manager window, could the filter label and text entry be made part of the menu bar so the appearance doesn't abruptly change at the end of the bar.
Created attachment 108755 [details] [review] seahorse-svn-2162-no-libgnome.patch Should fix the context menu issue (not tested).
The context menu's weren't fixed by this patch. Also, double clicking a key to open it's properties is no longer working.
Created attachment 108790 [details] [review] seahorse-svn-2165-no-libgnome.patch context-menus and double clicking fixed.
Created attachment 108832 [details] [review] seahorse-svn-2165-no-libgnome.patch *sigh* uploaded a broken patch ... I was testing something and had changed the glade dir.
Created attachment 108838 [details] [review] seahorse-svn-2165-no-libgnome.patch Fixes the filter bar regression
Created attachment 109444 [details] [review] Update to fix build errors The last patch posted would not build without quite a few little changes and the addition of some header files. There were also some libgnomeui functions floating around I replaced with libgnome-vfs functions to be removed during the port to gio, but one step at a time. The size and position saving might not be something GTK+ provides for free but everything else appears to be good to go.
I have checked in the parts of the patch that apply to seahorse/trunk. 2008-05-04 Adam Schreiber <sadam@clemson.edu> * src/seahorse-key-manager.glade: * src/seahorse-revoke.c: * src/seahorse-sign.c: * src/seahorse-delete.c: * src/seahorse-add-uid.c: * src/seahorse-pgp-generate.glade: * src/seahorse-key-widget.c: * src/seahorse-ssh-key-properties.c: * src/seahorse-keyserver-results.c: * src/seahorse-keyserver-search.c: * src/seahorse-ssh-generate.c: * src/seahorse-add-subkey.c: * src/seahorse-keyserver-sync.c: * src/seahorse-key-manager-store.c: * src/seahorse-key-manager.c: * src/seahorse-preferences.c: * src/seahorse-gkeyring-item-properties.c: * src/seahorse-generate-select.c: * src/seahorse-photos.c: * src/main.c: * src/seahorse-pgp-generate.c: * src/seahorse-expires.c: * src/seahorse-ssh-upload.c: * src/Makefile.am: * src/seahorse-key-properties.c: * src/seahorse-add-subkey.glade: * INSTALL: * gkr/seahorse-gkeyring-item.c: * gkr/seahorse-gkeyring-operation.c: * gkr/seahorse-gkeyring-source.c: * configure.in: * pgp/seahorse-signer.c: * pgp/seahorse-pgp-key-op.c: * pgp/seahorse-server-source.c: * pgp/seahorse-gpg-options.c: * pgp/seahorse-pgp-key.c: * pgp/seahorse-ldap-source.c: * pgp/seahorse-hkp-source.c: * pgp/Makefile.am: * pgp/seahorse-pgp-operation.c: * pgp/seahorse-pgp-source.c: * ssh/seahorse-ssh-operation.c: * ssh/seahorse-ssh-source.c: * ssh/seahorse-ssh-askpass.c: * ssh/seahorse-ssh-key.c: * libseahorse/seahorse-keyserver-control.c: * libseahorse/seahorse-unix-signal.c: * libseahorse/seahorse-prefs-keyrings.c: * libseahorse/seahorse-passphrase.c: * libseahorse/seahorse-util.c: * libseahorse/seahorse-prefs.c: * libseahorse/seahorse-transfer-operation.c: * libseahorse/seahorse-widget.c: * libseahorse/seahorse-context.c: * libseahorse/seahorse-unknown-key.c: * libseahorse/seahorse-notification.c: * libseahorse/seahorse-key.c: * libseahorse/seahorse-dns-sd.c: * libseahorse/seahorse-unknown-source.c: * libseahorse/seahorse-operation.c: * libseahorse/seahorse-operation.h: * libseahorse/seahorse-validity.c: * libseahorse/seahorse-key-source.c: * libseahorse/seahorse-key-model.c: * daemon/seahorse-sharing.c: * daemon/seahorse-service.c: * daemon/seahorse-service-keyset.c: * daemon/seahorse-daemon.c: * daemon/seahorse-service-crypto.c: * daemon/seahorse-hkp-server.c: * Makefile.am: * libegg/: Added * libegg/Makefile.am: Added * libegg/egg-datetime.c: Added * libegg/egg-datetime.h: Added Remove dependency on libgnome/ui. Patch from Saleem Abdulrasool. Partially fixes bug #524018
Committed to seahorse-plugins/trunk. 2008-05-04 Adam Schreiber <sadam@clemson.edu> * plugins/nautilus-ext/Makefile.am: * plugins/nautilus/seahorse-tool-files.c: * plugins/nautilus/seahorse-tool.c: * plugins/nautilus/seahorse-tool-progress.c: * plugins/nautilus/seahorse-pgp-preferences.c: * plugins/applet/seahorse-applet.c: * plugins/gedit/seahorse-gedit-bonobo.c: * plugins/epiphany/seahorse-extension.c: * configure.in: * agent/seahorse-agent-actions.c: * agent/seahorse-agent-prompt.c: * agent/seahorse-agent.c: * agent/seahorse-agent-cache.c: * agent/seahorse-agent-status.c: * agent/seahorse-agent-main.c: * agent/seahorse-agent-io.c: * libseahorse/seahorse-unix-signal.c: * libseahorse/seahorse-vfs-data.h: * libseahorse/seahorse-util.c: * libseahorse/seahorse-widget.c: * libseahorse/seahorse-operation.c: * libseahorse/seahorse-gpg-options.c: * libseahorse/seahorse-prefs-cache.c: Remove dependence on libgnome/ui. Patch from Saleem Abdulrasool. Fixes bug #524018 Thanks Saleem for all of your hard work.