diff options
author | Maciej Stachowiak <mstachow@src.gnome.org> | 2001-02-02 03:52:20 +0000 |
---|---|---|
committer | Maciej Stachowiak <mstachow@src.gnome.org> | 2001-02-02 03:52:20 +0000 |
commit | 2fa1795d4a0be070abe85b10b96068fd7eb55cd4 (patch) | |
tree | 66da429abdbd611be1cbd74fe46cf4f5cccb4e9b | |
parent | f938b03d684a30e839cb41bc9c8a10d846ad14a8 (diff) | |
download | nautilus-2fa1795d4a0be070abe85b10b96068fd7eb55cd4.tar.gz |
reviewed by: Darin Adler <darin@eazel.com> and
Robey Pointer <robey@eazel.com>
Fix bugs 5528 (oaf command-line options show up in main program
section, not a separate section) and 5510 (descriptions of
OAF-specific options in --help are not translated). To do this I
had to change the way the oaf popt options are processed in all
the places that do so.
* components/adapter/main.c: (main):
* components/hardware/main.c: (main):
* components/help/hyperbola-main.c: (main):
* components/image-viewer/Nautilus_View_image.oaf.in:
* components/image-viewer/nautilus-image-view.c:
(init_server_factory):
* components/loser/content/main.c: (main):
* components/loser/sidebar/main.c: (main):
* components/mozilla/main.c: (main):
* components/music/main.c: (main):
* components/notes/nautilus-notes.c: (main):
* components/rpmview/main.c: (main):
* components/services/install/command-line/eazel-alt-install-corba.
c: (main):
* components/services/install/nautilus-view/main.c: (main):
* components/services/login/nautilus-view/main.c: (main):
* components/services/summary/nautilus-view/main.c: (main):
* components/services/time/command-line/main.c: (main):
* components/services/time/nautilus-view/main.c: (main):
* components/services/trilobite/libtrilobite/trilobite-core-utils.c
: (trilobite_init):
* components/shell/shell.c:
* components/text/Nautilus_View_text.oaf.in:
* components/text/main.c: (main):
* components/throbber/main.c: (main):
* components/tree/main.c: (main):
* libnautilus/nautilus-view-standard-main.c:
(nautilus_view_standard_main_multi):
* src/Nautilus_shell.oaf.in:
* src/nautilus-main.c: (main):
* test/test-nautilus-mime-actions-set.c: (main):
* test/test-nautilus-mime-actions.c: (main): Register oaf options
with gnomelib_register_popt_options and move oaf_init call to
before gnome_init to fix the aforementioned bugs.
40 files changed, 299 insertions, 404 deletions
@@ -1,3 +1,49 @@ +2001-02-01 Maciej Stachowiak <mjs@eazel.com> + + reviewed by: Darin Adler <darin@eazel.com> and + Robey Pointer <robey@eazel.com> + + Fix bugs 5528 (oaf command-line options show up in main program + section, not a separate section) and 5510 (descriptions of + OAF-specific options in --help are not translated). To do this I + had to change the way the oaf popt options are processed in all + the places that do so. + + * components/adapter/main.c: (main): + * components/hardware/main.c: (main): + * components/help/hyperbola-main.c: (main): + * components/image-viewer/Nautilus_View_image.oaf.in: + * components/image-viewer/nautilus-image-view.c: + (init_server_factory): + * components/loser/content/main.c: (main): + * components/loser/sidebar/main.c: (main): + * components/mozilla/main.c: (main): + * components/music/main.c: (main): + * components/notes/nautilus-notes.c: (main): + * components/rpmview/main.c: (main): + * components/services/install/command-line/eazel-alt-install-corba. + c: (main): + * components/services/install/nautilus-view/main.c: (main): + * components/services/login/nautilus-view/main.c: (main): + * components/services/summary/nautilus-view/main.c: (main): + * components/services/time/command-line/main.c: (main): + * components/services/time/nautilus-view/main.c: (main): + * components/services/trilobite/libtrilobite/trilobite-core-utils.c + : (trilobite_init): + * components/shell/shell.c: + * components/text/Nautilus_View_text.oaf.in: + * components/text/main.c: (main): + * components/throbber/main.c: (main): + * components/tree/main.c: (main): + * libnautilus/nautilus-view-standard-main.c: + (nautilus_view_standard_main_multi): + * src/Nautilus_shell.oaf.in: + * src/nautilus-main.c: (main): + * test/test-nautilus-mime-actions-set.c: (main): + * test/test-nautilus-mime-actions.c: (main): Register oaf options + with gnomelib_register_popt_options and move oaf_init call to + before gnome_init to fix the aforementioned bugs. + 2001-02-01 Rebecca Schulman <rebecka@eazel.com> Fixed bug 5648, bad ui in the indexing info dialog. diff --git a/components/adapter/main.c b/components/adapter/main.c index 2413ec3e5..958191d94 100644 --- a/components/adapter/main.c +++ b/components/adapter/main.c @@ -100,12 +100,13 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + /* Initialize libraries. */ - gnome_init_with_popt_table ("nautilus-adapter", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnome_init ("nautilus-adapter", VERSION, + argc, argv); g_thread_init (NULL); - orb = oaf_init (argc, argv); gnome_vfs_init (); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/hardware/main.c b/components/hardware/main.c index 25881a3c7..3297e2cf0 100644 --- a/components/hardware/main.c +++ b/components/hardware/main.c @@ -78,12 +78,12 @@ int main(int argc, char *argv[]) CORBA_exception_init(&ev); - gnome_init_with_popt_table("nautilus-hardware-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); - + + gnome_init ("nautilus-hardware-view", VERSION, + argc, argv); + bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); /* initialize gnome-vfs, etc */ diff --git a/components/help/hyperbola-main.c b/components/help/hyperbola-main.c index 9e3d6b506..2dc372166 100644 --- a/components/help/hyperbola-main.c +++ b/components/help/hyperbola-main.c @@ -56,12 +56,13 @@ main(int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("hyperbola", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("hyperbola", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init(orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/image-viewer/Nautilus_View_image.oaf.in b/components/image-viewer/Nautilus_View_image.oaf.in index 57ab3a87a..950728ba2 100644 --- a/components/image-viewer/Nautilus_View_image.oaf.in +++ b/components/image-viewer/Nautilus_View_image.oaf.in @@ -12,9 +12,9 @@ <oaf_attribute name="repo_ids" type="stringv"> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Bonobo/Unknown:1.0"/> - <item value="IDL:Bonobo/PersistStream:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> <item value="IDL:Bonobo/Persist:1.0"/> - <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/PersistStream:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus Image Viewer"/> <oaf_attribute name="description" type="string" _value="Generic Image Viewer"/> diff --git a/components/image-viewer/Nautilus_View_image.server.in b/components/image-viewer/Nautilus_View_image.server.in index 57ab3a87a..950728ba2 100644 --- a/components/image-viewer/Nautilus_View_image.server.in +++ b/components/image-viewer/Nautilus_View_image.server.in @@ -12,9 +12,9 @@ <oaf_attribute name="repo_ids" type="stringv"> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Bonobo/Unknown:1.0"/> - <item value="IDL:Bonobo/PersistStream:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> <item value="IDL:Bonobo/Persist:1.0"/> - <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/PersistStream:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus Image Viewer"/> <oaf_attribute name="description" type="string" _value="Generic Image Viewer"/> diff --git a/components/image-viewer/nautilus-image-view.c b/components/image-viewer/nautilus-image-view.c index 7b61d808f..eca93eb82 100644 --- a/components/image-viewer/nautilus-image-view.c +++ b/components/image-viewer/nautilus-image-view.c @@ -812,13 +812,13 @@ init_server_factory (int argc, char **argv) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table("bonobo-image-generic", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - gdk_rgb_init (); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); oaf_init (argc, argv); + gnome_init ("bonobo-image-generic", VERSION, + argc, argv); + gdk_rgb_init (); + if (!bonobo_init (CORBA_OBJECT_NIL, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL)) g_error (_("I could not initialize Bonobo")); diff --git a/components/loser/content/main.c b/components/loser/content/main.c index 24d6c943a..6b4a28ab0 100644 --- a/components/loser/content/main.c +++ b/components/loser/content/main.c @@ -80,12 +80,12 @@ int main(int argc, char *argv[]) nautilus_content_loser_maybe_fail ("pre-init"); - gnome_init_with_popt_table("nautilus-content-loser", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); - + + gnome_init ("nautilus-content-loser", VERSION, + argc, argv); + bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); nautilus_content_loser_maybe_fail ("post-init"); diff --git a/components/loser/sidebar/main.c b/components/loser/sidebar/main.c index 455635d98..c71e6609d 100644 --- a/components/loser/sidebar/main.c +++ b/components/loser/sidebar/main.c @@ -80,11 +80,11 @@ int main(int argc, char *argv[]) nautilus_sidebar_loser_maybe_fail ("pre-init"); - gnome_init_with_popt_table("nautilus-sidebar-loser", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); + + gnome_init ("nautilus-sidebar-loser", VERSION, + argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/mozilla/main.c b/components/mozilla/main.c index 13ab365cf..4dd593117 100644 --- a/components/mozilla/main.c +++ b/components/mozilla/main.c @@ -131,12 +131,12 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("nautilus-mozilla-content-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - gdk_rgb_init (); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); + + gnome_init ("nautilus-mozilla-content-view", VERSION, + argc, argv); + gdk_rgb_init (); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/music/main.c b/components/music/main.c index 2b3970832..fa3640fa6 100644 --- a/components/music/main.c +++ b/components/music/main.c @@ -1,4 +1,5 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ + /* * Copyright (C) 2000 Eazel, Inc * @@ -17,116 +18,28 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * - * Author: Andy Hertzfeld + * Author: Maciej Stachowiak <mjs@eazel.com> */ -/* main.c - main function and object activation function for the music view component. */ +/* main.c - Main function and object activation function for music + * view component. + */ #include <config.h> #include "nautilus-music-view.h" +#include <libnautilus/nautilus-view-standard-main.h> -#include <bonobo.h> -#include <gnome.h> -#include <libgnomevfs/gnome-vfs.h> -#include <libnautilus-extensions/nautilus-debug.h> -#include <liboaf/liboaf.h> - -static int object_count = 0; - -static void -music_view_object_destroyed(GtkObject *obj) -{ - object_count--; - if (object_count <= 0) { - gtk_main_quit (); - } -} - -static BonoboObject * -music_view_make_object (BonoboGenericFactory *factory, - const char *iid, - void *closure) -{ - NautilusMusicView *music_view; - NautilusView *nautilus_view; - - if (strcmp (iid, "OAFIID:nautilus_music_view:9456b5d2-60a8-407f-a56e-d561e1821391")) { - return NULL; - } - - music_view = NAUTILUS_MUSIC_VIEW (gtk_object_new (NAUTILUS_TYPE_MUSIC_VIEW, NULL)); - - object_count++; - - nautilus_view = nautilus_music_view_get_nautilus_view (music_view); - - gtk_signal_connect (GTK_OBJECT (nautilus_view), "destroy", music_view_object_destroyed, NULL); - - return BONOBO_OBJECT (nautilus_view); -} +#define FACTORY_IID "OAFIID:nautilus_music_view_factory:1be0c129-87cd-4daa-9d3a-94397de9bce2" +#define VIEW_IID "OAFIID:nautilus_music_view:9456b5d2-60a8-407f-a56e-d561e1821391" +#define EXECUTABLE_NAME "nautilus-music-view" +#define GET_TYPE_FUNCTION nautilus_music_view_get_type int main (int argc, char *argv[]) { - BonoboGenericFactory *factory; - CORBA_ORB orb; - char *registration_id; - - /* Initialize gettext support */ -#ifdef ENABLE_NLS /* sadly we need this ifdef because otherwise the following get empty statement warnings */ - bindtextdomain (PACKAGE, GNOMELOCALEDIR); - textdomain (PACKAGE); -#endif - - /* Make criticals and warnings stop in the debugger if - * NAUTILUS_DEBUG is set. Unfortunately, this has to be done - * explicitly for each domain. - */ - if (g_getenv ("NAUTILUS_DEBUG") != NULL) { - nautilus_make_warnings_and_criticals_stop_in_debugger - (G_LOG_DOMAIN, g_log_domain_glib, - "Bonobo", - "Gdk", - "GnomeUI", - "GnomeVFS", - "GnomeVFS-CORBA", - "GnomeVFS-pthread", - "Gtk", - "Nautilus", - "Nautilus-Authenticate", - "Nautilus-Tree", - "ORBit", - NULL); - } - - /* Disable session manager connection */ - gnome_client_disable_master_connection (); - - gnome_init_with_popt_table("nautilus-music-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - - gdk_rgb_init (); - orb = oaf_init (argc, argv); - - bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); - - /* initialize gnome-vfs, etc */ - g_thread_init (NULL); - gnome_vfs_init (); - - registration_id = oaf_make_registration_id ("OAFIID:nautilus_music_view_factory:1be0c129-87cd-4daa-9d3a-94397de9bce2", getenv ("DISPLAY")); - factory = bonobo_generic_factory_new_multi (registration_id, - music_view_make_object, - NULL); - g_free (registration_id); - - - do { - bonobo_main (); - } while (object_count > 0); - - gnome_vfs_shutdown (); - - return 0; + return nautilus_view_standard_main (EXECUTABLE_NAME, VERSION, + argc, argv, + FACTORY_IID, VIEW_IID, + nautilus_view_create_from_get_type_function, + GET_TYPE_FUNCTION); } diff --git a/components/music/nautilus-music-view.c b/components/music/nautilus-music-view.c index 828248b71..e747ee755 100644 --- a/components/music/nautilus-music-view.c +++ b/components/music/nautilus-music-view.c @@ -31,15 +31,6 @@ #include "mpg123.h" #include "pixmaps.h" -#include <ctype.h> -#include <esd.h> -#include <fcntl.h> -#include <gdk-pixbuf/gdk-pixbuf.h> -#include <gnome.h> -#include <gtk/gtkadjustment.h> -#include <gtk/gtksignal.h> -#include <libgnomevfs/gnome-vfs.h> -#include <libgnorba/gnorba.h> #include <libnautilus-extensions/nautilus-background.h> #include <libnautilus-extensions/nautilus-directory-background.h> #include <libnautilus-extensions/nautilus-directory-notify.h> @@ -59,9 +50,20 @@ #include <libnautilus-extensions/nautilus-string.h> #include <libnautilus-extensions/nautilus-string.h> #include <libnautilus/libnautilus.h> -#include <limits.h> + +#include <gnome.h> +#include <libgnomevfs/gnome-vfs.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gtk/gtkadjustment.h> +#include <gtk/gtksignal.h> +#include <gtk/gtkeventbox.h> +#include <esd.h> + #include <sys/stat.h> #include <sys/types.h> +#include <ctype.h> +#include <fcntl.h> +#include <limits.h> typedef enum { @@ -71,9 +73,9 @@ typedef enum { PLAYER_NEXT } PlayerState; -struct _NautilusMusicViewDetails { +struct NautilusMusicViewDetails { NautilusFile *file; - NautilusView *nautilus_view; + GtkWidget *event_box; int sort_mode; int selected_index; @@ -169,7 +171,8 @@ static void nautilus_music_view_drag_data_received (GtkWidget int y, GtkSelectionData *selection_data, guint info, - guint time); + guint time, + gpointer user_data); static void nautilus_music_view_initialize_class (NautilusMusicViewClass *klass); static void nautilus_music_view_initialize (NautilusMusicView *view); static void nautilus_music_view_destroy (GtkObject *object); @@ -205,21 +208,23 @@ static void set_player_state (NautilusMusicView *music_view, PlayerState state); static void sort_list (NautilusMusicView *music_view); +static void nautilus_music_view_load_uri (NautilusMusicView *view, + const char *uri); + + + NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusMusicView, nautilus_music_view, - GTK_TYPE_EVENT_BOX) + NAUTILUS_TYPE_VIEW) static void nautilus_music_view_initialize_class (NautilusMusicViewClass *klass) { GtkObjectClass *object_class; - GtkWidgetClass *widget_class; object_class = GTK_OBJECT_CLASS (klass); - widget_class = GTK_WIDGET_CLASS (klass); object_class->destroy = nautilus_music_view_destroy; - widget_class->drag_data_received = nautilus_music_view_drag_data_received; } /* initialize ourselves by connecting to the location change signal and allocating our subviews */ @@ -235,14 +240,23 @@ nautilus_music_view_initialize (NautilusMusicView *music_view) music_view->details = g_new0 (NautilusMusicViewDetails, 1); - music_view->details->nautilus_view = nautilus_view_new (GTK_WIDGET (music_view)); + music_view->details->event_box = gtk_event_box_new (); + + gtk_signal_connect (GTK_OBJECT (music_view->details->event_box), + "drag_data_received", + nautilus_music_view_drag_data_received, + music_view); + + nautilus_view_construct (NAUTILUS_VIEW (music_view), + music_view->details->event_box); + - gtk_signal_connect (GTK_OBJECT (music_view->details->nautilus_view), + gtk_signal_connect (GTK_OBJECT (music_view), "load_location", music_view_load_location_callback, music_view); - gtk_signal_connect (GTK_OBJECT (nautilus_get_widget_background (GTK_WIDGET (music_view))), + gtk_signal_connect (GTK_OBJECT (nautilus_get_widget_background (GTK_WIDGET (music_view->details->event_box))), "appearance_changed", music_view_background_appearance_changed_callback, music_view); @@ -253,7 +267,7 @@ nautilus_music_view_initialize (NautilusMusicView *music_view) /* allocate a vbox to contain all of the views */ music_view->details->album_container = GTK_VBOX (gtk_vbox_new (FALSE, 8)); gtk_container_set_border_width (GTK_CONTAINER (music_view->details->album_container), 4); - gtk_container_add (GTK_CONTAINER (music_view), GTK_WIDGET (music_view->details->album_container)); + gtk_container_add (GTK_CONTAINER (music_view->details->event_box), GTK_WIDGET (music_view->details->album_container)); /* allocate a widget for the album title */ music_view->details->album_title = nautilus_label_new (""); @@ -344,7 +358,7 @@ nautilus_music_view_initialize (NautilusMusicView *music_view) gtk_signal_connect (GTK_OBJECT (button), "clicked", image_button_callback, music_view); /* prepare ourselves to receive dropped objects */ - gtk_drag_dest_set (GTK_WIDGET (music_view), + gtk_drag_dest_set (GTK_WIDGET (music_view->details->event_box), GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, music_dnd_target_table, NAUTILUS_N_ELEMENTS (music_dnd_target_table), GDK_ACTION_COPY); @@ -757,13 +771,6 @@ image_button_callback (GtkWidget * widget, NautilusMusicView *music_view) } } -/* Component embedding support */ -NautilusView * -nautilus_music_view_get_nautilus_view (NautilusMusicView *music_view) -{ - return music_view->details->nautilus_view; -} - /* here are some utility routines for reading ID3 tags from mp3 files */ /* initialize a songinfo structure */ @@ -1190,7 +1197,7 @@ play_current_file (NautilusMusicView *music_view, gboolean from_start) "or your sound card is not configured properly. Try quitting any " "applications that may be blocking use of the sound card."), _("Unable to Play File"), - GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (&music_view->parent)))); + GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (&music_view->details->event_box->parent)))); return; } @@ -1405,7 +1412,7 @@ xpm_label_box (NautilusMusicView *music_view, char * xpm_data[]) box = gtk_hbox_new (FALSE, 0); gtk_container_border_width (GTK_CONTAINER (box), 2); - style = gtk_widget_get_style (GTK_WIDGET (music_view)); + style = gtk_widget_get_style (GTK_WIDGET (music_view->details->event_box)); pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **)xpm_data); gdk_pixbuf_render_pixmap_and_mask (pixbuf, &pixmap, &mask, GDK_PIXBUF_ALPHA_FULL); @@ -1434,7 +1441,7 @@ xpm_dual_label_box (NautilusMusicView *music_view, char * xpm_data[], box = gtk_hbox_new (FALSE, 0); gtk_container_border_width (GTK_CONTAINER (box), 2); - style = gtk_widget_get_style (GTK_WIDGET (music_view)); + style = gtk_widget_get_style (GTK_WIDGET (music_view->details->event_box)); /* create the main pixwidget */ pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **)xpm_data); @@ -1708,7 +1715,7 @@ nautilus_music_view_update (NautilusMusicView *music_view) image_count = 0; /* connect the music view background to directory metadata */ - nautilus_connect_background_to_file_metadata_by_uri (GTK_WIDGET (music_view), uri); + nautilus_connect_background_to_file_metadata_by_uri (GTK_WIDGET (music_view->details->event_box), uri); /* iterate through the directory, collecting mp3 files and extracting id3 data if present */ result = gnome_vfs_directory_list_load (&list, uri, @@ -1718,7 +1725,7 @@ nautilus_music_view_update (NautilusMusicView *music_view) path = gnome_vfs_get_local_path_from_uri (uri); message = g_strdup_printf (_("Sorry, but there was an error reading %s."), path); nautilus_show_error_dialog (message, _("Can't Read Folder"), - GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (music_view)))); + GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (music_view->details->event_box)))); g_free (path); g_free (message); g_free (uri); @@ -1842,7 +1849,7 @@ nautilus_music_view_update (NautilusMusicView *music_view) /* allocate the play controls if necessary */ if (music_view->details->play_control_box == NULL) { - add_play_controls(music_view); + add_play_controls (music_view); } music_view_set_selected_song_title (music_view, 0); @@ -1876,7 +1883,7 @@ nautilus_music_view_load_uri (NautilusMusicView *music_view, const char *uri) nautilus_music_view_update (music_view); /* show all the widgets now, since they weren't shown during initialization */ - gtk_widget_show_all (GTK_WIDGET (music_view)); + gtk_widget_show_all (GTK_WIDGET (music_view->details->event_box)); update_play_controls_status (music_view, get_player_state (music_view)); @@ -1912,20 +1919,22 @@ music_view_load_location_callback (NautilusView *view, const char *location, NautilusMusicView *music_view) { - nautilus_view_report_load_underway (music_view->details->nautilus_view); + nautilus_view_report_load_underway (NAUTILUS_VIEW (music_view)); nautilus_music_view_load_uri (music_view, location); - nautilus_view_report_load_complete (music_view->details->nautilus_view); + nautilus_view_report_load_complete (NAUTILUS_VIEW (music_view)); } /* handle receiving dropped objects */ static void nautilus_music_view_drag_data_received (GtkWidget *widget, GdkDragContext *context, - int x, int y, - GtkSelectionData *selection_data, guint info, guint time) + int x, int y, + GtkSelectionData *selection_data, + guint info, guint time, + gpointer user_data) { char **uris; - g_return_if_fail (NAUTILUS_IS_MUSIC_VIEW (widget)); + g_return_if_fail (NAUTILUS_IS_MUSIC_VIEW (user_data)); uris = g_strsplit (selection_data->data, "\r\n", 0); diff --git a/components/music/nautilus-music-view.h b/components/music/nautilus-music-view.h index f59224023..7d557ea67 100644 --- a/components/music/nautilus-music-view.h +++ b/components/music/nautilus-music-view.h @@ -26,11 +26,10 @@ #define NAUTILUS_MUSIC_VIEW_H #include <libnautilus/nautilus-view.h> -#include <gtk/gtkeventbox.h> -typedef struct _NautilusMusicView NautilusMusicView; -typedef struct _NautilusMusicViewClass NautilusMusicViewClass; +typedef struct NautilusMusicView NautilusMusicView; +typedef struct NautilusMusicViewClass NautilusMusicViewClass; #define NAUTILUS_TYPE_MUSIC_VIEW (nautilus_music_view_get_type ()) #define NAUTILUS_MUSIC_VIEW(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_MUSIC_VIEW, NautilusMusicView)) @@ -38,15 +37,15 @@ typedef struct _NautilusMusicViewClass NautilusMusicViewClass; #define NAUTILUS_IS_MUSIC_VIEW(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_MUSIC_VIEW)) #define NAUTILUS_IS_MUSIC_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_MUSIC_VIEW)) -typedef struct _NautilusMusicViewDetails NautilusMusicViewDetails; +typedef struct NautilusMusicViewDetails NautilusMusicViewDetails; -struct _NautilusMusicView { - GtkEventBox parent; +struct NautilusMusicView { + NautilusView base; NautilusMusicViewDetails *details; }; -struct _NautilusMusicViewClass { - GtkEventBoxClass parent_class; +struct NautilusMusicViewClass { + NautilusViewClass base; }; @@ -54,11 +53,4 @@ struct _NautilusMusicViewClass { /* GtkObject support */ GtkType nautilus_music_view_get_type (void); -/* Component embedding support */ -NautilusView *nautilus_music_view_get_nautilus_view (NautilusMusicView *view); - -/* URI handling */ -void nautilus_music_view_load_uri (NautilusMusicView *view, - const char *uri); - #endif /* NAUTILUS_MUSIC_VIEW_H */ diff --git a/components/notes/nautilus-notes.c b/components/notes/nautilus-notes.c index 010f223e7..618272ded 100644 --- a/components/notes/nautilus-notes.c +++ b/components/notes/nautilus-notes.c @@ -241,12 +241,12 @@ main(int argc, char *argv[]) gnome_client_disable_master_connection (); /* initialize CORBA and Bonobo */ + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); - gnome_init_with_popt_table("nautilus-notes", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnome_init ("nautilus-notes", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/rpmview/main.c b/components/rpmview/main.c index 7211e539b..d0ac1da57 100644 --- a/components/rpmview/main.c +++ b/components/rpmview/main.c @@ -77,11 +77,10 @@ int main(int argc, char *argv[]) textdomain (PACKAGE); #endif - gnome_init_with_popt_table("nautilus-rpm-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); + gnome_init ("nautilus-rpm-view", VERSION, + argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/services/install-view/main.c b/components/services/install-view/main.c index d4fc56536..aede7ef30 100644 --- a/components/services/install-view/main.c +++ b/components/services/install-view/main.c @@ -79,12 +79,13 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("nautilus-service-install-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("nautilus-service-install-view", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); gconf_init (argc, argv, NULL); diff --git a/components/services/install/command-line/eazel-alt-install-corba.c b/components/services/install/command-line/eazel-alt-install-corba.c index dc171cd1f..e08645ccc 100644 --- a/components/services/install/command-line/eazel-alt-install-corba.c +++ b/components/services/install/command-line/eazel-alt-install-corba.c @@ -717,8 +717,9 @@ int main(int argc, char *argv[]) { not having gnome_init called, dies in a X call, yech */ #if 0 - gnome_init_with_popt_table ("Eazel Install", "1.0", argc, argv, options, 0, &ctxt); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); + gnome_init_with_popt_table ("Eazel Install", "1.0", argc, argv, options, 0, &ctxt); if (!bonobo_init (NULL, NULL, NULL)) { g_error ("Could not init bonobo"); } diff --git a/components/services/install/nautilus-view/main.c b/components/services/install/nautilus-view/main.c index d4fc56536..aede7ef30 100644 --- a/components/services/install/nautilus-view/main.c +++ b/components/services/install/nautilus-view/main.c @@ -79,12 +79,13 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("nautilus-service-install-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("nautilus-service-install-view", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); gconf_init (argc, argv, NULL); diff --git a/components/services/inventory/eazel-inventory-client.c b/components/services/inventory/eazel-inventory-client.c index 22710a17a..41c3f10c3 100644 --- a/components/services/inventory/eazel-inventory-client.c +++ b/components/services/inventory/eazel-inventory-client.c @@ -72,7 +72,6 @@ main (int argc, { "info", 'i', POPT_ARG_NONE, &info, 0, N_("Display information about current inventory settings."), NULL }, { "upload", 'u', POPT_ARG_NONE, &upload, 0, N_("Upload inventory now, if not up to date."), NULL }, /* FIXME bugzilla.eazel.com 5510: These OAF options don't get translated for some reason. */ - { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &oaf_popt_options, 0, NULL, NULL }, { NULL, '\0', 0, NULL, 0, NULL, NULL } }; diff --git a/components/services/login/nautilus-view/main.c b/components/services/login/nautilus-view/main.c index ecf9f6de7..24360d3c1 100644 --- a/components/services/login/nautilus-view/main.c +++ b/components/services/login/nautilus-view/main.c @@ -83,12 +83,13 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("nautilus-change-password-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("nautilus-change-password-view", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/services/summary/main.c b/components/services/summary/main.c index 050473b7d..6f6d74da6 100644 --- a/components/services/summary/main.c +++ b/components/services/summary/main.c @@ -86,12 +86,13 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("nautilus-summary-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("nautilus-summary-view", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/services/summary/nautilus-view/main.c b/components/services/summary/nautilus-view/main.c index 050473b7d..6f6d74da6 100644 --- a/components/services/summary/nautilus-view/main.c +++ b/components/services/summary/nautilus-view/main.c @@ -86,12 +86,13 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table ("nautilus-summary-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("nautilus-summary-view", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/components/services/time/command-line/main.c b/components/services/time/command-line/main.c index 78960cd32..c9b61f6bc 100644 --- a/components/services/time/command-line/main.c +++ b/components/services/time/command-line/main.c @@ -74,9 +74,9 @@ int main(int argc, char *argv[]) { TrilobiteRootClient *root_client; CORBA_exception_init (&ev); - gnomelib_register_popt_table (oaf_popt_options, "OAF options"); - gnome_init_with_popt_table ("trilobite-eazel-time-service-cli", "1.0",argc, argv, options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); + gnome_init_with_popt_table ("trilobite-eazel-time-service-cli", "1.0",argc, argv, options, 0, NULL); if (!bonobo_init (NULL, NULL, NULL)) { g_error ("Could not init bonobo"); diff --git a/components/services/time/nautilus-view/main.c b/components/services/time/nautilus-view/main.c index d02601f77..0e763cab1 100644 --- a/components/services/time/nautilus-view/main.c +++ b/components/services/time/nautilus-view/main.c @@ -90,12 +90,12 @@ int main(int argc, char *argv[]) g_message ("In component."); - gnome_init_with_popt_table("trilobite-eazel-time-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); orb = oaf_init (argc, argv); + gnome_init ("trilobite-eazel-time-view", VERSION, + argc, argv); + bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); #if 0 diff --git a/components/services/trilobite/libtrilobite/trilobite-core-utils.c b/components/services/trilobite/libtrilobite/trilobite-core-utils.c index dd5537424..7637f0606 100644 --- a/components/services/trilobite/libtrilobite/trilobite-core-utils.c +++ b/components/services/trilobite/libtrilobite/trilobite-core-utils.c @@ -175,21 +175,26 @@ trilobite_init (const char *service_name, const char *version_name, const char * CORBA_ORB orb; FILE *logf; char *real_log_filename; - const struct poptOption *pass_options; - pass_options = (options != NULL) ? options : oaf_popt_options; + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); #ifdef TRILOBITE_USE_X - gnome_init_with_popt_table (service_name, version_name, argc, argv, pass_options, 0, NULL); + if (options) { + gnome_init_with_popt_table (service_name, version_name, argc, argv, pass_options, 0, NULL); + } else { + gnome_init (service_name, version_name, argc, argv); + } trilobite_popt = NULL; #else gtk_type_init (); gtk_signal_init (); gnomelib_init (service_name, version_name); - gnomelib_register_popt_table (pass_options, service_name); + if (options != NULL) { + gnomelib_register_popt_table (options, service_name); + } trilobite_popt = gnomelib_parse_args (argc, argv, 0); #endif - orb = oaf_init (argc, argv); if (!bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL)) { g_error (_("Could not initialize Bonobo")); diff --git a/components/shell/shell.c b/components/shell/shell.c index abd2bfba1..0c9c5e1cf 100644 --- a/components/shell/shell.c +++ b/components/shell/shell.c @@ -57,12 +57,13 @@ init_bonobo (int argc, char **argv) /* Disable session manager connection */ gnome_client_disable_master_connection (); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + gnome_init_with_popt_table ("xterm-control-factory", "0.0", - argc, argv, oaf_popt_options, 0, NULL); + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); - if (!bonobo_init (orb, NULL, NULL)) g_error (_("Could not initialize Bonobo")); } diff --git a/components/text/Nautilus_View_text.oaf.in b/components/text/Nautilus_View_text.oaf.in index 1d056f47b..a47034e7b 100644 --- a/components/text/Nautilus_View_text.oaf.in +++ b/components/text/Nautilus_View_text.oaf.in @@ -13,6 +13,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Text view"/> <oaf_attribute name="description" type="string" _value="Text view"/> diff --git a/components/text/Nautilus_View_text.server.in b/components/text/Nautilus_View_text.server.in index 1d056f47b..a47034e7b 100644 --- a/components/text/Nautilus_View_text.server.in +++ b/components/text/Nautilus_View_text.server.in @@ -13,6 +13,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Text view"/> <oaf_attribute name="description" type="string" _value="Text view"/> diff --git a/components/text/Nautilus_View_text.server.in.in b/components/text/Nautilus_View_text.server.in.in index 1d056f47b..a47034e7b 100644 --- a/components/text/Nautilus_View_text.server.in.in +++ b/components/text/Nautilus_View_text.server.in.in @@ -13,6 +13,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Text view"/> <oaf_attribute name="description" type="string" _value="Text view"/> diff --git a/components/text/main.c b/components/text/main.c index af1e5ea4b..cfdc29d81 100644 --- a/components/text/main.c +++ b/components/text/main.c @@ -1,4 +1,5 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ + /* * Copyright (C) 2000 Eazel, Inc * @@ -17,116 +18,28 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * - * Author: Andy Hertzfeld + * Author: Maciej Stachowiak <mjs@eazel.com> */ -/* main.c - main function and object activation function for the text view component. */ +/* main.c - Main function and object activation function for text + * view component. + */ #include <config.h> #include "nautilus-text-view.h" +#include <libnautilus/nautilus-view-standard-main.h> -#include <bonobo.h> -#include <gnome.h> -#include <libgnomevfs/gnome-vfs.h> -#include <libnautilus-extensions/nautilus-debug.h> -#include <liboaf/liboaf.h> - -static int object_count = 0; - -static void -text_view_object_destroyed(GtkObject *obj) -{ - object_count--; - if (object_count <= 0) { - gtk_main_quit (); - } -} - -static BonoboObject * -text_view_make_object (BonoboGenericFactory *factory, - const char *iid, - void *closure) -{ - NautilusTextView *text_view; - NautilusView *nautilus_view; - - if (strcmp (iid, "OAFIID:nautilus_text_view:fa466311-17c1-435c-8231-c9fc434b6437")) { - return NULL; - } - - text_view = NAUTILUS_TEXT_VIEW (gtk_object_new (NAUTILUS_TYPE_TEXT_VIEW, NULL)); - - object_count++; - - nautilus_view = nautilus_text_view_get_nautilus_view (text_view); - - gtk_signal_connect (GTK_OBJECT (nautilus_view), "destroy", text_view_object_destroyed, NULL); - - return BONOBO_OBJECT (nautilus_view); -} +#define FACTORY_IID "OAFIID:nautilus_text_view_factory:124ae209-d356-418f-8757-54e071cb3a21" +#define VIEW_IID "OAFIID:nautilus_text_view:fa466311-17c1-435c-8231-c9fc434b6437" +#define EXECUTABLE_NAME "nautilus-text-view" +#define GET_TYPE_FUNCTION nautilus_text_view_get_type int main (int argc, char *argv[]) { - BonoboGenericFactory *factory; - CORBA_ORB orb; - char *registration_id; - - /* Initialize gettext support */ -#ifdef ENABLE_NLS /* sadly we need this ifdef because otherwise the following get empty statement warnings */ - bindtextdomain (PACKAGE, GNOMELOCALEDIR); - textdomain (PACKAGE); -#endif - - /* Make criticals and warnings stop in the debugger if - * NAUTILUS_DEBUG is set. Unfortunately, this has to be done - * explicitly for each domain. - */ - if (g_getenv ("NAUTILUS_DEBUG") != NULL) { - nautilus_make_warnings_and_criticals_stop_in_debugger - (G_LOG_DOMAIN, g_log_domain_glib, - "Bonobo", - "Gdk", - "GnomeUI", - "GnomeVFS", - "GnomeVFS-CORBA", - "GnomeVFS-pthread", - "Gtk", - "Nautilus", - "Nautilus-Authenticate", - "Nautilus-Tree", - "ORBit", - NULL); - } - - /* Disable session manager connection */ - gnome_client_disable_master_connection (); - - gnome_init_with_popt_table("nautilus-text-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); - gdk_rgb_init (); - - orb = oaf_init (argc, argv); - - bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); - - /* initialize gnome-vfs, etc */ - g_thread_init (NULL); - gnome_vfs_init (); - - registration_id = oaf_make_registration_id ("OAFIID:nautilus_text_view_factory:124ae209-d356-418f-8757-54e071cb3a21", getenv ("DISPLAY")); - factory = bonobo_generic_factory_new_multi (registration_id, - text_view_make_object, - NULL); - g_free (registration_id); - - - do { - bonobo_main (); - } while (object_count > 0); - - gnome_vfs_shutdown (); - - return 0; + return nautilus_view_standard_main (EXECUTABLE_NAME, VERSION, + argc, argv, + FACTORY_IID, VIEW_IID, + nautilus_view_create_from_get_type_function, + GET_TYPE_FUNCTION); } diff --git a/components/text/nautilus-text-view.c b/components/text/nautilus-text-view.c index ec00cfd8c..e400121ba 100644 --- a/components/text/nautilus-text-view.c +++ b/components/text/nautilus-text-view.c @@ -48,19 +48,20 @@ #include <libnautilus-extensions/nautilus-stock-dialogs.h> #include <gnome.h> +#include <gtk/gtkeventbox.h> #include <libgnomevfs/gnome-vfs.h> -#include <libgnorba/gnorba.h> +#include <ghttp.h> + #include <limits.h> -#include <ghttp.h> #define MAX_SERVICE_ITEMS 32 #define TEXT_VIEW_CHUNK_SIZE 65536 #define MAX_FILE_SIZE 1024*1024 -struct _NautilusTextViewDetails { +struct NautilusTextViewDetails { NautilusFile *file; - NautilusView *nautilus_view; + GtkWidget *event_box; GnomeVFSAsyncHandle *file_handle; char *buffer; @@ -116,9 +117,13 @@ static void zoomable_zoom_out_callback (BonoboZoomable *zoomable, static void zoomable_zoom_to_fit_callback (BonoboZoomable *zoomable, NautilusTextView *directory_view); +static void nautilus_text_view_load_uri (NautilusTextView *view, + const char *uri); + + NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusTextView, nautilus_text_view, - GTK_TYPE_EVENT_BOX) + NAUTILUS_TYPE_VIEW) static float text_view_preferred_zoom_levels[] = { .25, .50, .75, 1.0, 1.5, 2.0, 4.0 }; static int text_view_preferred_font_sizes[] = { 9, 10, 12, 14, 18, 24, 36 }; @@ -130,10 +135,8 @@ static void nautilus_text_view_initialize_class (NautilusTextViewClass *klass) { GtkObjectClass *object_class; - GtkWidgetClass *widget_class; object_class = GTK_OBJECT_CLASS (klass); - widget_class = GTK_WIDGET_CLASS (klass); object_class->destroy = nautilus_text_view_destroy; } @@ -147,7 +150,9 @@ nautilus_text_view_initialize (NautilusTextView *text_view) text_view->details = g_new0 (NautilusTextViewDetails, 1); - text_view->details->nautilus_view = nautilus_view_new (GTK_WIDGET (text_view)); + text_view->details->event_box = gtk_event_box_new (); + + nautilus_view_construct (NAUTILUS_VIEW (text_view), text_view->details->event_box); /* set up the zoomable interface */ text_view->details->zoomable = bonobo_zoomable_new (); @@ -167,23 +172,24 @@ nautilus_text_view_initialize (NautilusTextView *text_view) text_view_preferred_zoom_levels, NULL, NAUTILUS_N_ELEMENTS (text_view_preferred_zoom_levels)); - bonobo_object_add_interface (BONOBO_OBJECT (text_view->details->nautilus_view), + bonobo_object_add_interface (BONOBO_OBJECT (text_view), BONOBO_OBJECT (text_view->details->zoomable)); - gtk_signal_connect (GTK_OBJECT (text_view->details->nautilus_view), + gtk_signal_connect (GTK_OBJECT (text_view), "load_location", text_view_load_location_callback, text_view); + /* FIXME: eventually, get this from preferences */ /* set up the default font */ - text_view->details->font_name = g_strdup ("helvetica"); /* eventually, get this from preferences */ + text_view->details->font_name = g_strdup ("helvetica"); /* allocate a vbox to contain the text widget */ text_view->details->container = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (text_view->details->container), 0); - gtk_container_add (GTK_CONTAINER (text_view), GTK_WIDGET (text_view->details->container)); + gtk_container_add (GTK_CONTAINER (text_view->details->event_box), GTK_WIDGET (text_view->details->container)); /* allocate the text object */ text_view->details->text_display = gtk_text_new (NULL, NULL); @@ -211,13 +217,13 @@ nautilus_text_view_initialize (NautilusTextView *text_view) /* get notified when we are activated so we can merge in our menu items */ gtk_signal_connect (GTK_OBJECT (nautilus_view_get_bonobo_control - (text_view->details->nautilus_view)), + (NAUTILUS_VIEW (text_view))), "activate", merge_bonobo_menu_items, text_view); /* finally, we can show everything */ - gtk_widget_show_all (GTK_WIDGET (text_view)); + gtk_widget_show_all (GTK_WIDGET (text_view->details->event_box)); } static void @@ -251,13 +257,6 @@ nautilus_text_view_destroy (GtkObject *object) } -/* Component embedding support */ -NautilusView * -nautilus_text_view_get_nautilus_view (NautilusTextView *text_view) -{ - return text_view->details->nautilus_view; -} - /* this routine is called when we're finished reading to deallocate the buffer and * put up an error message if necessary */ @@ -383,8 +382,9 @@ nautilus_text_view_update (NautilusTextView *text_view) } -void -nautilus_text_view_load_uri (NautilusTextView *text_view, const char *uri) +static void +nautilus_text_view_load_uri (NautilusTextView *text_view, + const char *uri) { detach_file (text_view); @@ -398,9 +398,9 @@ text_view_load_location_callback (NautilusView *view, const char *location, NautilusTextView *text_view) { - nautilus_view_report_load_underway (text_view->details->nautilus_view); + nautilus_view_report_load_underway (NAUTILUS_VIEW (text_view)); nautilus_text_view_load_uri (text_view, location); - nautilus_view_report_load_complete (text_view->details->nautilus_view); + nautilus_view_report_load_complete (NAUTILUS_VIEW (text_view)); } /* update the font and redraw */ @@ -475,7 +475,7 @@ handle_service_menu_item (BonoboUIComponent *ui, gpointer user_data, const char uri = g_strdup_printf (parameters->service_template, mapped_text); /* goto the url */ - nautilus_view_open_location_in_this_window (parameters->text_view->details->nautilus_view, uri); + nautilus_view_open_location_in_this_window (NAUTILUS_VIEW (parameters->text_view), uri); g_free (uri); g_free (selected_text); @@ -692,7 +692,7 @@ update_service_menu_items (GtkWidget *widget, GdkEventButton *event, gpointer *u int index; text_view = NAUTILUS_TEXT_VIEW (user_data); - control = nautilus_view_get_bonobo_control (text_view->details->nautilus_view); + control = nautilus_view_get_bonobo_control (NAUTILUS_VIEW (text_view)); ui = bonobo_control_get_ui_component (control); /* determine if there is a selection */ @@ -729,7 +729,7 @@ merge_bonobo_menu_items (BonoboControl *control, gboolean state, gpointer user_d text_view = NAUTILUS_TEXT_VIEW (user_data); if (state) { - nautilus_view_set_up_ui (text_view->details->nautilus_view, + nautilus_view_set_up_ui (NAUTILUS_VIEW (text_view), DATADIR, "nautilus-text-view-ui.xml", "nautilus-text-view"); diff --git a/components/text/nautilus-text-view.h b/components/text/nautilus-text-view.h index 10fe02f4f..e81a6c3b1 100644 --- a/components/text/nautilus-text-view.h +++ b/components/text/nautilus-text-view.h @@ -22,13 +22,14 @@ /* header file for the text view component */ -#ifndef NAUTILUS_MUSIC_VIEW_H -#define NAUTILUS_MUSIC_VIEW_H +#ifndef NAUTILUS_TEXT_VIEW_H +#define NAUTILUS_TEXT_VIEW_H #include <libnautilus/nautilus-view.h> -#include <gtk/gtkeventbox.h> -typedef struct _NautilusTextView NautilusTextView; -typedef struct _NautilusTextViewClass NautilusTextViewClass; + + +typedef struct NautilusTextView NautilusTextView; +typedef struct NautilusTextViewClass NautilusTextViewClass; #define NAUTILUS_TYPE_TEXT_VIEW (nautilus_text_view_get_type ()) #define NAUTILUS_TEXT_VIEW(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_TEXT_VIEW, NautilusTextView)) @@ -36,15 +37,15 @@ typedef struct _NautilusTextViewClass NautilusTextViewClass; #define NAUTILUS_IS_TEXT_VIEW(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_TEXT_VIEW)) #define NAUTILUS_IS_TEXT_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_TEXT_VIEW)) -typedef struct _NautilusTextViewDetails NautilusTextViewDetails; +typedef struct NautilusTextViewDetails NautilusTextViewDetails; -struct _NautilusTextView { - GtkEventBox parent; +struct NautilusTextView { + NautilusView base; NautilusTextViewDetails *details; }; -struct _NautilusTextViewClass { - GtkEventBoxClass parent_class; +struct NautilusTextViewClass { + NautilusViewClass base; }; @@ -52,11 +53,5 @@ struct _NautilusTextViewClass { /* GtkObject support */ GtkType nautilus_text_view_get_type (void); -/* Component embedding support */ -NautilusView *nautilus_text_view_get_nautilus_view (NautilusTextView *view); - -/* URI handling */ -void nautilus_text_view_load_uri (NautilusTextView *view, - const char *uri); #endif /* NAUTILUS_TEXT_VIEW_H */ diff --git a/components/throbber/main.c b/components/throbber/main.c index cf8bea65f..6ed4b37b4 100644 --- a/components/throbber/main.c +++ b/components/throbber/main.c @@ -97,14 +97,14 @@ main (int argc, char *argv[]) /* Disable session manager connection */ gnome_client_disable_master_connection (); - gnome_init_with_popt_table("nautilus-throbber", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + + gnome_init ("nautilus-throbber", VERSION, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); - bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); /* initialize gnome-vfs, etc */ diff --git a/components/tree/main.c b/components/tree/main.c index 57d56a4cc..793759cee 100644 --- a/components/tree/main.c +++ b/components/tree/main.c @@ -104,13 +104,13 @@ main (int argc, char *argv[]) g_thread_init (NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + gnome_init_with_popt_table("nautilus-tree-view", VERSION, - argc, argv, - oaf_popt_options, 0, NULL); + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); - gnome_vfs_init (); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/libnautilus/nautilus-view-standard-main.c b/libnautilus/nautilus-view-standard-main.c index ec9a00561..424d46a42 100644 --- a/libnautilus/nautilus-view-standard-main.c +++ b/libnautilus/nautilus-view-standard-main.c @@ -113,12 +113,13 @@ nautilus_view_standard_main_multi (const char *executable_name, /* Disable session manager connection */ gnome_client_disable_master_connection (); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + /* Initialize libraries. */ - gnome_init_with_popt_table (executable_name, version, - argc, argv, - oaf_popt_options, 0, NULL); + gnome_init (executable_name, version, + argc, argv); gdk_rgb_init (); - orb = oaf_init (argc, argv); gnome_vfs_init (); bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL); diff --git a/src/Nautilus_shell.oaf.in b/src/Nautilus_shell.oaf.in index e6303eb3a..725fbe48b 100644 --- a/src/Nautilus_shell.oaf.in +++ b/src/Nautilus_shell.oaf.in @@ -32,6 +32,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus file manager desktop icon view"/> <oaf_attribute name="description" type="string" _value="Nautilus file manager component that shows icons on the the desktop"/> @@ -42,6 +43,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus file manager list view"/> <oaf_attribute name="description" type="string" _value="Nautilus file manager component that shows a scrollable list"/> @@ -61,6 +63,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus file manager search results list view"/> <oaf_attribute name="description" type="string" _value="Nautilus file manager component that shows a scrollable list for search results"/> diff --git a/src/Nautilus_shell.server.in b/src/Nautilus_shell.server.in index e6303eb3a..725fbe48b 100644 --- a/src/Nautilus_shell.server.in +++ b/src/Nautilus_shell.server.in @@ -32,6 +32,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus file manager desktop icon view"/> <oaf_attribute name="description" type="string" _value="Nautilus file manager component that shows icons on the the desktop"/> @@ -42,6 +43,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus file manager list view"/> <oaf_attribute name="description" type="string" _value="Nautilus file manager component that shows a scrollable list"/> @@ -61,6 +63,7 @@ <item value="IDL:Bonobo/Unknown:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> <item value="IDL:Nautilus/View:1.0"/> + <item value="IDL:Bonobo/Zoomable:1.0"/> </oaf_attribute> <oaf_attribute name="name" type="string" _value="Nautilus file manager search results list view"/> <oaf_attribute name="description" type="string" _value="Nautilus file manager component that shows a scrollable list for search results"/> diff --git a/src/nautilus-main.c b/src/nautilus-main.c index a92565cd9..b138d8cdf 100644 --- a/src/nautilus-main.c +++ b/src/nautilus-main.c @@ -150,10 +150,6 @@ main (int argc, char *argv[]) N_("Quit Nautilus."), NULL }, { "restart", '\0', POPT_ARG_NONE | POPT_ARGFLAG_DOC_HIDDEN, &restart_shell, 0, N_("Restart Nautilus."), NULL }, - /* FIXME bugzilla.eazel.com 5228: The help for these OAF options - * should be in a separate section. - */ - { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &oaf_popt_options, 0, NULL, NULL }, { NULL, '\0', 0, NULL, 0, NULL, NULL } }; @@ -195,6 +191,11 @@ main (int argc, char *argv[]) no_default_window = FALSE; perform_self_check = FALSE; restart_shell = FALSE; + + gnomelib_register_popt_table (oaf_popt_options, + oaf_get_popt_table_name ()); + orb = oaf_init (argc, argv); + gnome_init_with_popt_table ("nautilus", VERSION, argc, argv, options, 0, &popt_context); @@ -227,7 +228,7 @@ main (int argc, char *argv[]) LIBXML_TEST_VERSION g_atexit (xmlCleanupParser); g_thread_init (NULL); - orb = oaf_init (argc, argv); + if (g_getenv ("NAUTILUS_ENABLE_TEST_COMPONENTS") != NULL) { oaf_set_test_components_enabled (TRUE); } diff --git a/test/test-nautilus-mime-actions-set.c b/test/test-nautilus-mime-actions-set.c index 8bcca2981..5672df89d 100644 --- a/test/test-nautilus-mime-actions-set.c +++ b/test/test-nautilus-mime-actions-set.c @@ -110,8 +110,10 @@ main (int argc, char **argv) NautilusFile *file; GList *attributes; - g_thread_init (NULL); + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); oaf_init (argc, argv); + + g_thread_init (NULL); gnome_vfs_init (); gnome_init ("test-nautilus-mime-actions-set", "0.0", argc, argv); diff --git a/test/test-nautilus-mime-actions.c b/test/test-nautilus-mime-actions.c index 3a4a7866e..0db75d079 100644 --- a/test/test-nautilus-mime-actions.c +++ b/test/test-nautilus-mime-actions.c @@ -155,8 +155,10 @@ main (int argc, char **argv) GList *attributes; g_thread_init (NULL); - oaf_init (argc, argv); gnome_vfs_init (); + + gnomelib_register_popt_table (oaf_popt_options, oaf_get_popt_table_name ()); + oaf_init (argc, argv); gnome_init("test-nautilus-mime-actions", "0.0", argc, argv); |