1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
6 * Copyright (C) 2000 Red Hat, Inc.
8 * Nautilus is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of the
11 * License, or (at your option) any later version.
13 * Nautilus is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
18 * You should have received a copy of the GNU General Public
19 * License along with this program; if not, write to the
20 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 * Boston, MA 02111-1307, USA.
24 /* nautilus-application.h
27 #ifndef NAUTILUS_APPLICATION_H
28 #define NAUTILUS_APPLICATION_H
32 #include <bonobo/bonobo-generic-factory.h>
33 #include <libnautilus-private/nautilus-undo-manager.h>
35 #define NAUTILUS_DESKTOP_ICON_VIEW_IID "OAFIID:Nautilus_File_Manager_Desktop_Icon_View"
37 #define NAUTILUS_TYPE_APPLICATION (nautilus_application_get_type ())
38 #define NAUTILUS_APPLICATION(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_APPLICATION, NautilusApplication))
39 #define NAUTILUS_APPLICATION_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_APPLICATION, NautilusApplicationClass))
40 #define NAUTILUS_IS_APPLICATION(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_APPLICATION))
41 #define NAUTILUS_IS_APPLICATION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_APPLICATION))
43 #ifndef NAUTILUS_WINDOW_DEFINED
44 #define NAUTILUS_WINDOW_DEFINED
45 typedef struct NautilusWindow NautilusWindow
;
48 #ifndef NAUTILUS_SPATIAL_WINDOW_DEFINED
49 #define NAUTILUS_SPATIAL_WINDOW_DEFINED
50 typedef struct _NautilusSpatialWindow NautilusSpatialWindow
;
53 typedef struct NautilusShell NautilusShell
;
56 BonoboGenericFactory parent
;
57 NautilusUndoManager
*undo_manager
;
59 gboolean shell_registered
;
60 GVolumeMonitor
*volume_monitor
;
61 unsigned int automount_idle_id
;
62 } NautilusApplication
;
65 BonoboGenericFactoryClass parent_class
;
66 } NautilusApplicationClass
;
68 GType
nautilus_application_get_type (void);
69 NautilusApplication
*nautilus_application_new (void);
70 void nautilus_application_startup (NautilusApplication
*application
,
72 gboolean restart_shell
,
73 gboolean no_default_window
,
75 gboolean browser_window
,
76 const char *startup_id
,
77 const char *default_geometry
,
78 const char *session_to_load
,
80 GList
* nautilus_application_get_window_list (void);
81 GList
* nautilus_application_get_spatial_window_list (void);
82 unsigned int nautilus_application_get_n_windows (void);
84 NautilusWindow
* nautilus_application_present_spatial_window (NautilusApplication
*application
,
85 NautilusWindow
*requesting_window
,
86 const char *startup_id
,
89 NautilusWindow
* nautilus_application_present_spatial_window_with_selection (NautilusApplication
*application
,
90 NautilusWindow
*requesting_window
,
91 const char *startup_id
,
96 NautilusWindow
* nautilus_application_create_navigation_window (NautilusApplication
*application
,
97 const char *startup_id
,
100 void nautilus_application_close_all_navigation_windows (void);
101 void nautilus_application_close_parent_windows (NautilusSpatialWindow
*window
);
102 void nautilus_application_close_all_spatial_windows (void);
103 void nautilus_application_open_desktop (NautilusApplication
*application
);
104 void nautilus_application_close_desktop (void);
105 void nautilus_application_load_session (NautilusApplication
*application
,
106 const char *filename
);
107 char * nautilus_application_save_session_to_file (void);
108 #endif /* NAUTILUS_APPLICATION_H */