summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-trash-directory.h
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2000-08-14 23:45:21 +0000
committerDarin Adler <darin@src.gnome.org>2000-08-14 23:45:21 +0000
commit5baaa578051f2f1249a518c256d84d04f221011a (patch)
tree3139949fb03b25f6575af40503e931ad763913fe /libnautilus-private/nautilus-trash-directory.h
parent925ddd403d4a4f4ed4042b4e1171ddefc9aa5257 (diff)
downloadnautilus-5baaa578051f2f1249a518c256d84d04f221011a.tar.gz
More prep work for the trash directory.
* libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-trash-directory.c: (nautilus_trash_directory_initialize_class), (nautilus_trash_directory_initialize), (nautilus_trash_directory_destroy): * libnautilus-extensions/nautilus-trash-directory.h: * libnautilus-extensions/nautilus-vfs-directory.c: (nautilus_vfs_directory_initialize_class), (nautilus_vfs_directory_initialize), (nautilus_vfs_directory_destroy): * libnautilus-extensions/nautilus-vfs-directory.h: Add subclasses for the trash and for general VFS directories. Using refactoring techniques to move code down into these subclasses. This is not intended to be a general framework, but should be good enough to handle both these cases. * libnautilus-extensions/nautilus-directory-async.c: (can_use_public_metafile), (metafile_read_check_for_directory), (metafile_read_failed), (metafile_read_start), (allow_metafile), (metafile_write_success_close_callback), (nautilus_metafile_write_start), (start_monitoring_file_list), (get_corresponding_file), (start_getting_file_info): * libnautilus-extensions/nautilus-directory-private.h: * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_destroy), (make_uri_canonical), (nautilus_directory_get_internal), (nautilus_directory_get_uri), (construct_private_metafile_uri), (nautilus_directory_new), (nautilus_directory_is_local), (nautilus_directory_is_not_empty), (nautilus_self_check_directory): * libnautilus-extensions/nautilus-directory.h: * libnautilus-extensions/nautilus-file.c: (nautilus_file_get_internal), (nautilus_file_rename), (nautilus_file_get_gnome_vfs_uri), (nautilus_file_matches_uri), (nautilus_file_compare_by_name), (nautilus_file_compare_by_directory_name), (nautilus_file_compare_for_sort), (nautilus_file_get_uri), (nautilus_file_set_permissions), (nautilus_file_get_string_attribute), (nautilus_file_get_mime_type), (nautilus_file_is_in_trash), (nautilus_file_contains_text), (nautilus_file_get_directory_name), (nautilus_file_mark_gone), (nautilus_file_changed): * libnautilus-extensions/nautilus-file.h: Add code to handle case of directory that can't be handled by gnome-vfs. Mostly some NULL checks. Also renamed fields to make it clear that the text URI is the "real" one. Added code to handle the "gnome-trash:" and "trash:" schemes specially in the code to make URIs canonical. * libnautilus-extensions/nautilus-mime-actions.c: (get_mime_type_from_uri): Return "application/octet-stream" instead of NULL for unknown MIME type. * src/file-manager/fm-directory-view.c: (fm_directory_view_display_selection_info): Eliminated the nautilus_file_get_real_name call. * src/nautilus-switchable-navigation-bar.c: (nautilus_switchable_navigation_bar_set_location): Eliminated the nautilus_directory_is_search_directory call. * src/file-manager/fm-search-list-view.c: (real_adding_file): Fixed formatting mistake. * src/nautilus-view-frame.c: (set_up_for_new_location): Emit the title_changed signal for each change in location.
Diffstat (limited to 'libnautilus-private/nautilus-trash-directory.h')
-rw-r--r--libnautilus-private/nautilus-trash-directory.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-trash-directory.h b/libnautilus-private/nautilus-trash-directory.h
new file mode 100644
index 000000000..73f53d492
--- /dev/null
+++ b/libnautilus-private/nautilus-trash-directory.h
@@ -0,0 +1,56 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
+
+ nautilus-trash-directory.h: Subclass of NautilusDirectory to implement the
+ virtual trash directory.
+
+ Copyright (C) 1999, 2000 Eazel, Inc.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+ Author: Darin Adler <darin@eazel.com>
+*/
+
+#ifndef NAUTILUS_TRASH_DIRECTORY_H
+#define NAUTILUS_TRASH_DIRECTORY_H
+
+#include "nautilus-directory.h"
+
+#define NAUTILUS_TYPE_TRASH_DIRECTORY \
+ (nautilus_trash_directory_get_type ())
+#define NAUTILUS_TRASH_DIRECTORY(obj) \
+ (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_TRASH_DIRECTORY, NautilusTrashDirectory))
+#define NAUTILUS_TRASH_DIRECTORY_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_TRASH_DIRECTORY, NautilusTrashDirectoryClass))
+#define NAUTILUS_IS_TRASH_DIRECTORY(obj) \
+ (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_TRASH_DIRECTORY))
+#define NAUTILUS_IS_TRASH_DIRECTORY_CLASS(klass) \
+ (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_TRASH_DIRECTORY))
+
+typedef struct NautilusTrashDirectoryDetails NautilusTrashDirectoryDetails;
+
+typedef struct {
+ NautilusDirectory parent_slot;
+ NautilusTrashDirectoryDetails *details;
+} NautilusTrashDirectory;
+
+typedef struct {
+ NautilusDirectoryClass parent_slot;
+} NautilusTrashDirectoryClass;
+
+GtkType nautilus_trash_directory_get_type (void);
+NautilusTrashDirectory *nautilus_trash_directory_get (void);
+
+#endif /* NAUTILUS_TRASH_DIRECTORY_H */