[Xfce4-commits] r25858 - in squeeze/trunk: . data libsqueeze src

Stephan Arts stephan at xfce.org
Mon Jun 25 00:56:44 CEST 2007


Author: stephan
Date: 2007-06-24 22:56:44 +0000 (Sun, 24 Jun 2007)
New Revision: 25858

Added:
   squeeze/trunk/data/
   squeeze/trunk/data/gnu-tar.squeeze
   squeeze/trunk/libsqueeze/libsqueeze-mime-support.h
   squeeze/trunk/libsqueeze/mime-support.c
   squeeze/trunk/libsqueeze/mime-support.h
Removed:
   squeeze/trunk/libsqueeze/libsqueeze-vfs-mime.h
   squeeze/trunk/libsqueeze/vfs-mime.c
   squeeze/trunk/libsqueeze/vfs-mime.h
Modified:
   squeeze/trunk/Makefile.am
   squeeze/trunk/configure.in.in
   squeeze/trunk/libsqueeze/Makefile.am
   squeeze/trunk/libsqueeze/archive-iter.c
   squeeze/trunk/libsqueeze/archive-tempfs.c
   squeeze/trunk/libsqueeze/archive.c
   squeeze/trunk/libsqueeze/internals.c
   squeeze/trunk/libsqueeze/internals.h
   squeeze/trunk/libsqueeze/libsqueeze.c
   squeeze/trunk/libsqueeze/libsqueeze.h
   squeeze/trunk/libsqueeze/slist.c
   squeeze/trunk/libsqueeze/support-factory.c
   squeeze/trunk/libsqueeze/support-factory.h
   squeeze/trunk/libsqueeze/support-reader.c
   squeeze/trunk/src/main_window.c
   squeeze/trunk/src/new_dialog.c
Log:
modified mime stuff (make id->mime combo unique)

Modified: squeeze/trunk/Makefile.am
===================================================================
--- squeeze/trunk/Makefile.am	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/Makefile.am	2007-06-24 22:56:44 UTC (rev 25858)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = pixmaps libsqueeze po docs src icons
+SUBDIRS = pixmaps libsqueeze po docs src icons data
 
 wrapperdir = $(libexecdir)/thunar-archive-plugin
 wrapper_SCRIPTS = squeeze.tap

Modified: squeeze/trunk/configure.in.in
===================================================================
--- squeeze/trunk/configure.in.in	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/configure.in.in	2007-06-24 22:56:44 UTC (rev 25858)
@@ -134,6 +134,7 @@
 icons/48x48/Makefile
 icons/scalable/Makefile
 pixmaps/Makefile
+data/Makefile
 docs/Makefile
 docs/reference/Makefile
 docs/reference/libsqueeze/Makefile

Added: squeeze/trunk/data/gnu-tar.squeeze
===================================================================
--- squeeze/trunk/data/gnu-tar.squeeze	                        (rev 0)
+++ squeeze/trunk/data/gnu-tar.squeeze	2007-06-24 22:56:44 UTC (rev 25858)
@@ -0,0 +1,67 @@
+[Desktop Entry]
+Name=Gnu Tar
+Version=1.0
+Type=X-Squeeze-Archiver
+MimeType=application/x-tar;application/x-tarz;application/x-tzo;application/x-compressed-tar;application/x-bzip2-compressed-tar
+
+[application/x-tar]
+X-Squeeze-Requires=tar
+X-Squeeze-New=tar -cf %f %Files
+X-Squeeze-Add=tar -rf %f %Files
+X-Squeeze-Remove=tar -f %f --delete %Files
+X-Squeeze-Extract=tar -C %path -xf %f %Files
+X-Squeeze-Refresh=tar -tvvf %f
+
+[application/x-compressed-tar]
+X-Squeeze-Requires=tar;gzip;gunzip
+X-Squeeze-New=tar -zcf %f %Files
+X-Squeeze-Add=gunzip -c %f >> %1t;tar -rf %f %Files;gzip -c %1t >> %f
+X-Squeeze-Remove=gunzip -c %f >> %1t;tar -f %1t --delete %Files; gzip -c %1t >> %f
+X-Squeeze-Extract=tar -C %path -xf %f %Files
+X-Squeeze-Refresh=tar -tvvf %f
+
+[application/x-bzip2-compressed-tar]
+X-Squeeze-Requires=tar;bzip2;bunzip2
+X-Squeeze-New=tar -jcf %f %Files
+X-Squeeze-Add=bunzip2 -c %f >> %1t;tar -rf %f %Files;bzip2 -c %1t >> %f
+X-Squeeze-Remove=bunzip2 -c %f >> %1t;tar -f %1t --delete %Files; bzip2 -c %1t >> %f
+X-Squeeze-Extract=tar -C %path -xf %f %Files
+X-Squeeze-Refresh=tar -tvvf %f
+
+[application/x-tarz]
+X-Squeeze-Requires=tar;compress;uncompress
+X-Squeeze-New=tar -Zcf %f %Files
+X-Squeeze-Add=lzop -dc %f >> %1t;tar -rf %1t %Files;lzop -c %1t >> %f
+X-Squeeze-Remove=uncompress -c %f >> %1t;tar -f %1t --delete %Files; compress -c %1t >> %f
+X-Squeeze-Extract=tar -C %path -xf %f %Files
+X-Squeeze-Refresh=tar -tvvf %f
+
+[application/x-tzo]
+X-Squeeze-Requires=tar;lzop
+X-Squeeze-New=tar -cf --use-compress-program=lzop %f %Files
+X-Squeeze-Add=uncompress -c %f >> %1t;tar -rf %1t %Files;compress -c %1t >> %f
+X-Squeeze-Remove=lzop -dc %f >> %1t;tar -f %1t --delete %Files; lzop -c %1t >> %f
+X-Squeeze-Extract=tar -C %path -xf %f %Files
+X-Squeeze-Refresh=tar -tvvf %f
+
+[Refresh]
+X-Squeeze-Name=Refresh
+X-Squeeze-Name[nl]=Vernieuwen
+X-Squeeze-Headers=Rights;Owner/Group;Size;Date;Time;Name
+X-Squeeze-Headers[nl]=Rechten;Eigenaar/Groep;Grootte;Datum;Tijd;Naam
+X-Squeeze-Parse=%s %s %i %i %d %f
+X-Squeeze-Options=Password
+
+[Extract]
+X-Squeeze-Name=Extract
+X-Squeeze-Name[nl]=Uitpakken
+X-Squeeze-Options=Password;Overwrite
+
+[Option-Password]
+X-Squeeze-Flag=-p%s
+
+[Option-Overwrite]
+X-Squeeze-Flag=-f
+X-Squeeze-Type=Bool
+X-Squeeze-Nick=Overwrite files
+X-Squeeze-Default=FALSE

Modified: squeeze/trunk/libsqueeze/Makefile.am
===================================================================
--- squeeze/trunk/libsqueeze/Makefile.am	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/Makefile.am	2007-06-24 22:56:44 UTC (rev 25858)
@@ -7,9 +7,9 @@
 	libsqueeze-view.h \
 	libsqueeze-command.h \
 	libsqueeze-module.h \
-	libsqueeze-vfs-mime.h \
+	libsqueeze-mime-support.h \
 	slist.c slist.h \
-	vfs-mime.c vfs-mime.h \
+	mime-support.c mime-support.h \
 	archive.c archive.h \
 	archive-iter.c archive-iter.h \
 	archive-tempfs.c archive-tempfs.h \

Modified: squeeze/trunk/libsqueeze/archive-iter.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/archive-iter.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -20,6 +20,7 @@
 #include <glib-object.h> 
 #include <thunar-vfs/thunar-vfs.h>
 
+#include "libsqueeze.h"
 #include "libsqueeze-archive.h"
 #include "libsqueeze-view.h"
 #include "libsqueeze-command.h"

Modified: squeeze/trunk/libsqueeze/archive-tempfs.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-tempfs.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/archive-tempfs.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -26,6 +26,7 @@
 #include <errno.h>
 #include <thunar-vfs/thunar-vfs.h>
 
+#include "libsqueeze.h"
 #include "libsqueeze-archive.h"
 #include "archive-iter.h"
 #include "support-factory.h"

Modified: squeeze/trunk/libsqueeze/archive.c
===================================================================
--- squeeze/trunk/libsqueeze/archive.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/archive.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -25,14 +25,13 @@
 #include <thunar-vfs/thunar-vfs.h>
 
 #include "libsqueeze.h"
-#include "libsqueeze-vfs-mime.h"
 #include "archive-iter.h"
 #include "support-factory.h"
 #include "archive.h"
 #include "slist.h"
 #include "archive-tempfs.h"
 
-#include "vfs-mime.h"
+#include "mime-support.h"
 
 #include "internals.h"
 

Modified: squeeze/trunk/libsqueeze/internals.c
===================================================================
--- squeeze/trunk/libsqueeze/internals.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/internals.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -21,6 +21,7 @@
 #include <thunar-vfs/thunar-vfs.h>
 
 #include "libsqueeze-archive.h"
+#include "libsqueeze-mime-support.h"
 #include "libsqueeze-view.h"
 #include "libsqueeze-command.h"
 #include "support-factory.h"

Modified: squeeze/trunk/libsqueeze/internals.h
===================================================================
--- squeeze/trunk/libsqueeze/internals.h	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/internals.h	2007-06-24 22:56:44 UTC (rev 25858)
@@ -15,7 +15,7 @@
  */
 
 GSList                 *support_factory_list;
-GSList                 *lsq_mime_info_list;
+GSList                 *lsq_mime_support_list;
 GSList                 *lsq_opened_archive_list;
 ThunarVfsPath          *lsq_relative_base_path;
 

Copied: squeeze/trunk/libsqueeze/libsqueeze-mime-support.h (from rev 25857, squeeze/trunk/libsqueeze/libsqueeze-vfs-mime.h)
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze-mime-support.h	                        (rev 0)
+++ squeeze/trunk/libsqueeze/libsqueeze-mime-support.h	2007-06-24 22:56:44 UTC (rev 25858)
@@ -0,0 +1,27 @@
+/* 
+ *  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 Library 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.
+ */
+
+#ifndef __LIBSQUEEZE_MIME_SUPPORT_H__
+#define __LIBSQUEEZE_MIME_SUPPORT_H__
+
+typedef struct _LSQMimeSupport LSQMimeSupport;
+
+const gchar * lsq_mime_support_get_comment(LSQMimeSupport *);
+
+const gchar * lsq_mime_support_get_name(LSQMimeSupport *);
+
+
+#endif /* __LIBSQUEEZE_MIME_SUPPORT_H__ */

Deleted: squeeze/trunk/libsqueeze/libsqueeze-vfs-mime.h

Modified: squeeze/trunk/libsqueeze/libsqueeze.c
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/libsqueeze.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -24,15 +24,13 @@
 
 #include "libsqueeze.h"
 #include "libsqueeze-command.h"
-#include "libsqueeze-vfs-mime.h"
 #include "support-factory.h"
 #include "support-reader.h"
 #include "archive-iter.h"
 #include "archive-command.h"
 #include "archive.h"
+#include "mime-support.h"
 
-#include "vfs-mime.h"
-
 #include "internals.h"
 
 static gint
@@ -71,7 +69,6 @@
 				LSQSupportFactory *factory = lsq_support_reader_parse_file(path);
 				if(factory)
 				{
-					g_debug("factory found");
 					support_factory_list = g_slist_append(support_factory_list, factory);
 				}
 				g_free(path);
@@ -102,7 +99,6 @@
 					LSQSupportFactory *factory = lsq_support_reader_parse_file(path);
 					if(factory)
 					{
-						g_debug("factory found");
 						support_factory_list = g_slist_append(support_factory_list, factory);
 					}
 					g_free(path);
@@ -176,16 +172,24 @@
 
 
 GSList *
-lsq_get_supported_mime_types(LSQOperationSupportType types)
+lsq_get_supported_mime_types(LSQCommandType type)
 {
-	GSList *m_types = g_slist_copy(lsq_mime_info_list);
-	if(types &= LSQ_OPERATION_SUPPORT_ADD)
+	GSList *m_types = g_slist_copy(lsq_mime_support_list);
+	GSList *_types = m_types;
+	switch(type)
 	{
-		GSList *_types = m_types;
-		while(_types)
-		{
-			_types = g_slist_next(_types);
-		}
+		case LSQ_COMMAND_TYPE_ADD:
+			while(_types)
+			{
+				if(((LSQMimeSupport *)(_types->data))->new_cmd_queue == NULL)
+				{
+					m_types = g_slist_remove(m_types, _types);
+				}
+				_types = g_slist_next(_types);
+			}
+			break;
+		default:
+			break;
 	}
 	
 	return m_types;
@@ -194,14 +198,15 @@
 static gint
 lsq_lookup_mime(gconstpointer a, gconstpointer b)
 {
-	return !thunar_vfs_mime_info_equal((((LSQArchiveMime *)a)->mime_info), b);
+	return !thunar_vfs_mime_info_equal((((LSQMimeSupport *)a)->mime_info), b);
 }
 
+
 gboolean
 lsq_is_supported(const gchar *filename)
 {
 	ThunarVfsMimeInfo *mime_info = thunar_vfs_mime_database_get_info_for_name(lsq_mime_database, filename);
-	GSList *result = g_slist_find_custom(lsq_mime_info_list, mime_info, lsq_lookup_mime);
+	GSList *result = g_slist_find_custom(lsq_mime_support_list, mime_info, lsq_lookup_mime);
 	thunar_vfs_mime_info_unref(mime_info);
 	if(result)
 	{

Modified: squeeze/trunk/libsqueeze/libsqueeze.h
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze.h	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/libsqueeze.h	2007-06-24 22:56:44 UTC (rev 25858)
@@ -18,21 +18,12 @@
 #define __LIBSQUEEZE_H__
 
 #include <libsqueeze/libsqueeze-archive.h>
-#include <libsqueeze/libsqueeze-vfs-mime.h>
+#include <libsqueeze/libsqueeze-mime-support.h>
 #include <libsqueeze/libsqueeze-view.h>
 
 
 G_BEGIN_DECLS
 
-typedef enum
-{
-	LSQ_OPERATION_SUPPORT_ADD = 1 << 0x0,
-	LSQ_OPERATION_SUPPORT_REMOVE = 1 << 0x1,
-	LSQ_OPERATION_SUPPORT_EXTRACT = 1 << 0x2,
-	LSQ_OPERATION_SUPPORT_SHOW = 1 << 0x3
-} LSQOperationSupportType;
-
-
 /*
  * void
  * lsq_init()
@@ -82,7 +73,7 @@
 lsq_close_archive( LSQArchive *archive );
 
 GSList *
-lsq_get_supported_mime_types(LSQOperationSupportType types);
+lsq_get_supported_mime_types(LSQCommandType type);
 
 gboolean
 lsq_is_supported(const gchar *filename);

Copied: squeeze/trunk/libsqueeze/mime-support.c (from rev 25857, squeeze/trunk/libsqueeze/vfs-mime.c)
===================================================================
--- squeeze/trunk/libsqueeze/mime-support.c	                        (rev 0)
+++ squeeze/trunk/libsqueeze/mime-support.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -0,0 +1,44 @@
+/* 
+ *  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 Library 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.
+ */
+
+#include <config.h>
+#include <string.h>
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib-object.h> 
+#include <signal.h>
+#include <sys/wait.h>
+#include <sys/types.h>
+#include <thunar-vfs/thunar-vfs.h>
+
+#include "libsqueeze-archive.h"
+#include "libsqueeze-mime.h"
+#include "mime-support.h"
+
+#include "internals.h"
+
+
+const gchar *
+lsq_mime_support_get_comment(LSQMimeSupport *mime_s)
+{
+	return thunar_vfs_mime_info_get_comment(mime_s->mime_info);
+}
+
+const gchar *
+lsq_mime_support_get_name(LSQMimeSupport *mime_s)
+{
+	return thunar_vfs_mime_info_get_name(mime_s->mime_info);
+}

Copied: squeeze/trunk/libsqueeze/mime-support.h (from rev 25857, squeeze/trunk/libsqueeze/vfs-mime.h)
===================================================================
--- squeeze/trunk/libsqueeze/mime-support.h	                        (rev 0)
+++ squeeze/trunk/libsqueeze/mime-support.h	2007-06-24 22:56:44 UTC (rev 25858)
@@ -0,0 +1,38 @@
+/* 
+ *  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 Library 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.
+ */
+
+#ifndef __MIME_SUPPORT_H__
+#define __MIME_SUPPORT_H__
+
+
+struct _LSQMimeSupport
+{
+	const gchar *id;
+	ThunarVfsMimeInfo *mime_info;
+	gchar **required_apps;
+	gboolean supported;
+
+	gchar **new_cmd_queue;
+	gchar **add_cmd_queue;
+	gchar **remove_cmd_queue;
+	gchar **extract_cmd_queue;
+	gchar **refresh_cmd_queue;
+	LSQSupportType   support_mask;
+};
+
+
+#endif /* __MIME_SUPPORT_H__ */
+

Modified: squeeze/trunk/libsqueeze/slist.c
===================================================================
--- squeeze/trunk/libsqueeze/slist.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/slist.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -19,6 +19,7 @@
 #include <glib-object.h>
 #include <thunar-vfs/thunar-vfs.h>
 
+#include "libsqueeze.h"
 #include "libsqueeze-archive.h"
 #include "support-factory.h"
 #include "archive-iter.h"

Modified: squeeze/trunk/libsqueeze/support-factory.c
===================================================================
--- squeeze/trunk/libsqueeze/support-factory.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/support-factory.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -24,12 +24,17 @@
 #include <sys/types.h>
 #include <thunar-vfs/thunar-vfs.h>
 
+#include "libsqueeze.h"
 #include "libsqueeze-archive.h"
 #include "archive-iter.h"
 #include "archive-tempfs.h"
 #include "support-factory.h"
 #include "archive.h"
+#include "internals.h"
 
+/* fixme: */
+#include "mime-support.h"
+
 static void
 lsq_support_factory_class_init(LSQSupportFactoryClass *);
 static void
@@ -108,3 +113,23 @@
 {
 	parent_class->finalize(object);
 }
+
+static gint
+lsq_lookup_mime_support(gconstpointer a, gconstpointer b)
+{
+	return !((thunar_vfs_mime_info_equal((((LSQMimeSupport *)a)->mime_info), ((LSQMimeSupport *)b)->mime_info)) &&
+	(!strcmp((((LSQMimeSupport *)a)->id), ((LSQMimeSupport *)b)->id)));
+}
+
+void
+lsq_support_factory_add_mime(LSQSupportFactory *factory, LSQMimeSupport *mime_support)
+{
+	GSList *result = g_slist_find_custom(lsq_mime_support_list, mime_support, lsq_lookup_mime_support);
+	if(!result)
+	{
+		factory->mime_support = g_slist_prepend(factory->mime_support, mime_support);
+		lsq_mime_support_list = g_slist_prepend(lsq_mime_support_list, mime_support);
+	}
+
+}
+

Modified: squeeze/trunk/libsqueeze/support-factory.h
===================================================================
--- squeeze/trunk/libsqueeze/support-factory.h	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/support-factory.h	2007-06-24 22:56:44 UTC (rev 25858)
@@ -21,24 +21,7 @@
 		G_TYPE_CHECK_CLASS_TYPE ((klass),        \
 			LSQ_TYPE_SUPPORT_FACTORY))
 
-typedef struct _LSQMimeSupport LSQMimeSupport;
 
-struct _LSQMimeSupport
-{
-	gchar *mime;
-	gchar **required_apps;
-	gboolean supported;
-
-	gchar **new_cmd_queue;
-	gchar **add_cmd_queue;
-	gchar **remove_cmd_queue;
-	gchar **extract_cmd_queue;
-	gchar **refresh_cmd_queue;
-	LSQSupportType   support_mask;
-};
-
-
-
 typedef struct _LSQSupportFactory LSQSupportFactory;
 
 struct _LSQSupportFactory
@@ -57,5 +40,6 @@
 
 GType                lsq_support_factory_get_type(void);
 void                 lsq_support_factory_init_archive(LSQSupportFactory *builder, LSQArchive *archive);
+void                 lsq_support_factory_add_mime(LSQSupportFactory *factory, LSQMimeSupport *mime_support);
 
 #endif /* __LIBSQUEEZE_SUPPORT_FACTORY_H__ */

Modified: squeeze/trunk/libsqueeze/support-reader.c
===================================================================
--- squeeze/trunk/libsqueeze/support-reader.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/libsqueeze/support-reader.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -25,12 +25,16 @@
 #include <thunar-vfs/thunar-vfs.h>
 #include <libxfce4util/libxfce4util.h>
 
+#include "libsqueeze.h"
 #include "libsqueeze-archive.h"
 #include "support-factory.h"
 #include "archive-iter.h"
 #include "archive.h"
 #include "support-reader.h"
+#include "mime-support.h"
 
+#include "internals.h"
+
 static void
 lsq_support_reader_class_init(LSQSupportReaderClass *);
 static void
@@ -158,7 +162,8 @@
 			_iter++;
 		}
 
-		mime_support->mime = g_strdup(_mime_types[i]);
+		mime_support->mime_info = thunar_vfs_mime_database_get_info(lsq_mime_database, _mime_types[i]);
+		mime_support->id = (const gchar *)factory->id;
 
 		mime_support->new_cmd_queue     = xfce_rc_read_list_entry(rc, "X-Squeeze-New", ";");
 		mime_support->add_cmd_queue     = xfce_rc_read_list_entry(rc, "X-Squeeze-Add", ";");
@@ -166,7 +171,7 @@
 		mime_support->extract_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-Extract", ";");
 		mime_support->refresh_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-Refresh", ";");
 
-		factory->mime_support = g_slist_prepend(factory->mime_support, mime_support);
+		lsq_support_factory_add_mime(factory, mime_support);
 	}
 	 
 	return factory;

Deleted: squeeze/trunk/libsqueeze/vfs-mime.c

Deleted: squeeze/trunk/libsqueeze/vfs-mime.h

Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/src/main_window.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -744,13 +744,13 @@
 	{
 		GtkFileFilter *filter = gtk_file_filter_new();
 		gtk_file_filter_add_mime_type(filter,
-		        lsq_archive_mime_get_name((LSQArchiveMime *)(_supported_mime_types->data)));
+		        lsq_mime_support_get_name((LSQMimeSupport *)(_supported_mime_types->data)));
 
-		gtk_file_filter_set_name(filter, lsq_archive_mime_get_comment((LSQArchiveMime *)(_supported_mime_types->data)));
+		gtk_file_filter_set_name(filter, lsq_mime_support_get_comment((LSQMimeSupport *)(_supported_mime_types->data)));
 		gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
 
 		gtk_file_filter_add_mime_type(filter_all,
-		        lsq_archive_mime_get_name((LSQArchiveMime *)(_supported_mime_types->data)));
+		        lsq_mime_support_get_name((LSQMimeSupport *)(_supported_mime_types->data)));
 		_supported_mime_types = g_slist_next(_supported_mime_types);
 	}
 	g_slist_free(supported_mime_types);

Modified: squeeze/trunk/src/new_dialog.c
===================================================================
--- squeeze/trunk/src/new_dialog.c	2007-06-24 20:55:25 UTC (rev 25857)
+++ squeeze/trunk/src/new_dialog.c	2007-06-24 22:56:44 UTC (rev 25858)
@@ -73,7 +73,7 @@
 
 	gtk_widget_show_all(hbox);
 
-	dialog->supported_mime_types = lsq_get_supported_mime_types(LSQ_OPERATION_SUPPORT_ADD);
+	dialog->supported_mime_types = lsq_get_supported_mime_types(LSQ_COMMAND_TYPE_ADD);
 	GSList *_supported_mime_types = dialog->supported_mime_types;
 
 	dialog->file_filter = gtk_file_filter_new();
@@ -81,12 +81,11 @@
 	while(_supported_mime_types)
 	{
 		gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->archive_types_combo),
-		        lsq_archive_mime_get_comment((LSQArchiveMime *)(_supported_mime_types->data)));
+		        lsq_mime_support_get_comment((LSQMimeSupport *)(_supported_mime_types->data)));
 
 		gtk_file_filter_add_mime_type(dialog->file_filter,
-		        lsq_archive_mime_get_name((LSQArchiveMime *)(_supported_mime_types->data)));
-		if(!strcmp(lsq_archive_mime_get_name((LSQArchiveMime *)_supported_mime_types->data), "application/x-compressed-tar"))
-			gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->archive_types_combo), g_slist_index(dialog->supported_mime_types, _supported_mime_types->data));
+		        lsq_mime_support_get_name((LSQMimeSupport *)(_supported_mime_types->data)));
+
 		_supported_mime_types = g_slist_next(_supported_mime_types);
 	}
 
@@ -133,7 +132,7 @@
 		{
 			_supported_mime_types = g_slist_next(_supported_mime_types);
 		}
-		const gchar *mime_type = lsq_archive_mime_get_name(((LSQArchiveMime *)_supported_mime_types->data));
+		const gchar *mime_type = lsq_mime_support_get_name(((LSQMimeSupport *)_supported_mime_types->data));
 		gchar *suffix = NULL;
 		if(!strcmp(mime_type, "application/x-tar")) suffix = ".tar";
 		if(!strcmp(mime_type, "application/x-compressed-tar")) suffix = ".tar.gz";



More information about the Xfce4-commits mailing list