mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-10-01 21:44:26 +00:00
edc7a195a4
* 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.
67 lines
1.4 KiB
C
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);
|
|
}
|