2008-04-30 Cosimo Cecchi <cosimoc@gnome.org>
[nautilus.git] / src / nautilus-bookmark-list.h
blob0f2dd0d7e5de7492a239de3abbff8fff63f451de
1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
3 /*
4 * Nautilus
6 * Copyright (C) 1999, 2000 Eazel, 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,
14 * but 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 License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 * Authors: John Sullivan <sullivan@eazel.com>
25 /* nautilus-bookmark-list.h - interface for centralized list of bookmarks.
28 #ifndef NAUTILUS_BOOKMARK_LIST_H
29 #define NAUTILUS_BOOKMARK_LIST_H
31 #include <libnautilus-private/nautilus-bookmark.h>
32 #include <gio/gio.h>
34 typedef struct NautilusBookmarkList NautilusBookmarkList;
35 typedef struct NautilusBookmarkListClass NautilusBookmarkListClass;
37 #define NAUTILUS_TYPE_BOOKMARK_LIST \
38 (nautilus_bookmark_list_get_type ())
39 #define NAUTILUS_BOOKMARK_LIST(obj) \
40 (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_BOOKMARK_LIST, NautilusBookmarkList))
41 #define NAUTILUS_BOOKMARK_LIST_CLASS(klass) \
42 (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_BOOKMARK_LIST, NautilusBookmarkListClass))
43 #define NAUTILUS_IS_BOOKMARK_LIST(obj) \
44 (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_BOOKMARK_LIST))
45 #define NAUTILUS_IS_BOOKMARK_LIST_CLASS(klass) \
46 (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_BOOKMARK_LIST))
48 struct NautilusBookmarkList {
49 GtkObject object;
50 GList *list;
51 GFileMonitor *monitor;
54 struct NautilusBookmarkListClass {
55 GtkObjectClass parent_class;
56 void (* contents_changed) (NautilusBookmarkList *bookmarks);
59 GType nautilus_bookmark_list_get_type (void);
60 NautilusBookmarkList * nautilus_bookmark_list_new (void);
61 void nautilus_bookmark_list_append (NautilusBookmarkList *bookmarks,
62 NautilusBookmark *bookmark);
63 gboolean nautilus_bookmark_list_contains (NautilusBookmarkList *bookmarks,
64 NautilusBookmark *bookmark);
65 void nautilus_bookmark_list_contents_changed (NautilusBookmarkList *bookmarks);
66 void nautilus_bookmark_list_delete_item_at (NautilusBookmarkList *bookmarks,
67 guint index);
68 void nautilus_bookmark_list_delete_items_with_uri (NautilusBookmarkList *bookmarks,
69 const char *uri);
70 void nautilus_bookmark_list_insert_item (NautilusBookmarkList *bookmarks,
71 NautilusBookmark *bookmark,
72 guint index);
73 guint nautilus_bookmark_list_length (NautilusBookmarkList *bookmarks);
74 NautilusBookmark * nautilus_bookmark_list_item_at (NautilusBookmarkList *bookmarks,
75 guint index);
76 void nautilus_bookmark_list_set_window_geometry (NautilusBookmarkList *bookmarks,
77 const char *geometry);
78 const char * nautilus_bookmark_list_get_window_geometry (NautilusBookmarkList *bookmarks);
80 #endif /* NAUTILUS_BOOKMARK_LIST_H */