nautilus/src/ntl-app.c
Elliot Lee edc7a195a4 Fix warnings Try (unsuccessfully) to get proper icon reflow by calling
* libnautilus/{gdk-extensions.c,gnome-icon-container.c}: Fix warnings
* libnautilus/gnome-icon-container.c: Try (unsuccessfully) to get
  proper icon reflow by calling icon_grid_resize() instead of
  icon_grid_set_visible_width(), in size_allocate().
* src/*.*: Add ntl-app.[ch].
* src/file-manager/desktop-*.c: Fix warnings.
* src/file-manager/fm-directory-view.c: Remove incorrect warning,
  allow turning off use of icon_layout altogether.
1999-12-17 03:06:48 +00:00

67 lines
1.4 KiB
C

#include "nautilus.h"
#include <file-manager/fm-public-api.h>
static int window_count = 0;
static GnomeObject *
nautilus_make_object(GnomeGenericFactory *gfact, const char *goad_id, gpointer closure)
{
GtkObject *theobj = NULL;
if(!strcmp(goad_id, "ntl_file_manager"))
theobj = gtk_object_new(fm_directory_view_get_type(), NULL);
if(!theobj)
return NULL;
if(GNOME_IS_OBJECT(theobj))
return GNOME_OBJECT(theobj);
if(NAUTILUS_IS_VIEW_CLIENT(theobj))
{
gtk_widget_show(GTK_WIDGET(theobj));
return nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(theobj));
}
gtk_object_destroy(theobj);
return NULL;
}
void
nautilus_app_init(void)
{
NautilusWindow *mainwin;
/* Create our CORBA objects */
gnome_generic_factory_new_multi("nautilus_factory", nautilus_make_object, NULL);
/* Set default configuration */
mainwin = nautilus_app_create_window();
bonobo_activate();
nautilus_window_set_initial_state(mainwin);
}
static void
nautilus_app_destroy_window(GtkObject *obj)
{
window_count--;
if(window_count <= 0)
gtk_main_quit();
}
NautilusWindow *
nautilus_app_create_window(void)
{
GtkWidget *win = gtk_widget_new(nautilus_window_get_type(), "app_id", "nautilus", NULL);
window_count++;
gtk_signal_connect(GTK_OBJECT(win), "destroy", nautilus_app_destroy_window, NULL);
gtk_widget_show(win);
return NAUTILUS_WINDOW(win);
}