- Add patch with simple archive backend UI integration

This commit is contained in:
Alexander Larsson 2008-03-20 15:05:02 +00:00
parent fb7a0d43f7
commit d1997066ff
2 changed files with 143 additions and 4 deletions

View File

@ -0,0 +1,119 @@
Index: daemon/gvfsbackendarchive.c
===================================================================
--- daemon/gvfsbackendarchive.c (revision 1670)
+++ daemon/gvfsbackendarchive.c (working copy)
@@ -45,6 +45,8 @@
#include "gvfsdaemonutils.h"
#include "gvfskeyring.h"
+#define MOUNT_ICON_NAME "drive-removable-media"
+
/* #define PRINT_DEBUG */
#ifdef PRINT_DEBUG
@@ -291,11 +293,12 @@
#define archive_file_find(ba, filename) archive_file_get_from_path((ba)->files, (filename) + 1, FALSE)
static void
-create_root_file (GVfsBackendArchive *ba, GIcon *icon)
+create_root_file (GVfsBackendArchive *ba)
{
ArchiveFile *root = g_slice_new0 (ArchiveFile);
GFileInfo *info;
char *s, *display_name;
+ GIcon *icon;
root = g_slice_new0 (ArchiveFile);
root->name = g_strdup ("/");
@@ -319,7 +322,9 @@
g_file_info_set_content_type (info, "inode/directory");
g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, "inode/directory");
+ icon = g_themed_icon_new ("folder");
g_file_info_set_icon (info, icon);
+ g_object_unref (icon);
}
static void
@@ -444,7 +449,9 @@
ArchiveFile *file = archive_file_get_from_path (ba->files,
archive_entry_pathname (entry),
TRUE);
- archive_file_set_info_from_entry (file, entry);
+ /* Don't set info for root */
+ if (file != ba->files)
+ archive_file_set_info_from_entry (file, entry);
archive_read_data_skip (archive->archive);
}
}
@@ -544,15 +551,10 @@
g_vfs_backend_set_display_name (backend, g_file_info_get_display_name (info));
icon = g_file_info_get_icon (info);
-#if 0
- if (G_IS_THEMED_ICON (icon))
- g_vfs_backend_set_icon_name (backend,
- g_themed_icon_get_names (G_THEMED_ICON (icon))[0]);
- else
-#endif
- g_vfs_backend_set_icon_name (backend, "package-x-generic");
- create_root_file (archive, icon);
+ g_vfs_backend_set_icon_name (backend, MOUNT_ICON_NAME);
+
+ create_root_file (archive);
create_file_tree (archive, G_VFS_JOB (job));
g_object_unref (info);
}
Index: mount-archive.desktop.in.in
===================================================================
--- mount-archive.desktop.in.in (revision 0)
+++ mount-archive.desktop.in.in (revision 0)
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Encoding=UTF-8
+_Name=Archive Mounter
+Exec=@libexecdir@/gvfsd-archive file=%u
+MimeType=application/x-cd-image;application/x-bzip-compressed-tar;application/x-compressed-tar;application/x-tar;application/x-cpio;application/x-zip;
+Terminal=false
+StartupNotify=false
+Type=Application
+NoDisplay=true
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gvfs
+X-GNOME-Bugzilla-Component=archive-backend
+X-GNOME-Bugzilla-Version=@VERSION@
Index: Makefile.am
===================================================================
--- Makefile.am (revision 1670)
+++ Makefile.am (working copy)
@@ -1,5 +1,20 @@
NULL =
+@INTLTOOL_DESKTOP_RULE@
+
+desktop_in_files = mount-archive.desktop.in
+
+mount-archive.desktop.in: mount-archive.desktop.in.in
+ sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+desktopdir = $(datadir)/applications
+if HAVE_ARCHIVE
+desktop_DATA = mount-archive.desktop
+else
+desktop_DATA =
+endif
+
+
SUBDIRS = \
common \
client \
@@ -18,6 +33,8 @@
EXTRA_DIST = \
MAINTAINERS \
+ mount-archive.desktop.in.in \
+ $(desktop_in_files) \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \

View File

@ -1,7 +1,7 @@
Summary: Backends for the gio framework in GLib Summary: Backends for the gio framework in GLib
Name: gvfs Name: gvfs
Version: 0.2.1 Version: 0.2.1
Release: 2%{?dist} Release: 3%{?dist}
License: LGPLv2+ License: LGPLv2+
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.gtk.org URL: http://www.gtk.org
@ -28,6 +28,13 @@ BuildRequires: expat-devel
BuildRequires: libarchive-devel BuildRequires: libarchive-devel
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
# The patch touches Makefile.am files:
BuildRequires: automake autoconf
Patch1: gvfs-0.2.1-archive-integration.patch
%description %description
The gvfs package provides backend implementations for the gio The gvfs package provides backend implementations for the gio
framework in GLib. It includes ftp, sftp, cifs. framework in GLib. It includes ftp, sftp, cifs.
@ -42,12 +49,16 @@ The gvfs-devel package contains headers and other files that are
required to develop applications using gvfs. required to develop applications using gvfs.
%prep %prep
%setup -q %setup -q
%patch1 -p0 -b .archive-integration
%build %build
# Needed for gvfs-0.2.1-archive-integration.patch
aclocal || :
automake || :
%configure %configure
make # %{?_smp_mflags} make # %{?_smp_mflags}
@ -67,14 +78,20 @@ rm -rf $RPM_BUILD_ROOT
/sbin/ldconfig /sbin/ldconfig
# Reload .mount files: # Reload .mount files:
killall -USR1 gvfsd >&/dev/null || : killall -USR1 gvfsd >&/dev/null || :
# Update desktop files mime mappings:
update-desktop-database &> /dev/null ||:
%postun -p /sbin/ldconfig %postun
/sbin/ldconfig
# Update desktop files mime mappings:
update-desktop-database &> /dev/null ||:
%files -f gvfs.lang %files -f gvfs.lang
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc AUTHORS COPYING NEWS %doc AUTHORS COPYING NEWS
%dir %{_datadir}/gvfs %dir %{_datadir}/gvfs
%dir %{_datadir}/gvfs/mounts %dir %{_datadir}/gvfs/mounts
%dir %{_datadir}/applications/mount-archive.desktop
%{_sysconfdir}/profile.d/gvfs-bash-completion.sh %{_sysconfdir}/profile.d/gvfs-bash-completion.sh
%{_datadir}/gvfs/mounts/sftp.mount %{_datadir}/gvfs/mounts/sftp.mount
%{_datadir}/gvfs/mounts/smb-browse.mount %{_datadir}/gvfs/mounts/smb-browse.mount
@ -141,6 +158,9 @@ killall -USR1 gvfsd >&/dev/null || :
%{_libdir}/libgvfscommon.so %{_libdir}/libgvfscommon.so
%changelog %changelog
* Thu Mar 20 2008 Alexander Larsson <alexl@redhat.com> - 0.2.1-3
- Add patch with simple archive backend UI integration
* Tue Mar 19 2008 Tomas Bzatek <tbzatek@redhat.com> - 0.2.1-2 * Tue Mar 19 2008 Tomas Bzatek <tbzatek@redhat.com> - 0.2.1-2
- Added libarchive dependency for archive backend - Added libarchive dependency for archive backend
- Require new libsmbclient in order to get smb backend working again - Require new libsmbclient in order to get smb backend working again