Author: stephan
Date: 2007-07-28 13:10:25 +0000 (Sat, 28 Jul 2007)
New Revision: 25937
Added:
squeeze/trunk/libsqueeze/archive-iter-pool.c
squeeze/trunk/libsqueeze/archive-iter-pool.h
squeeze/trunk/libsqueeze/support-template.c
squeeze/trunk/libsqueeze/support-template.h
Removed:
squeeze/trunk/libsqueeze/libsqueeze-archive.h
squeeze/trunk/libsqueeze/libsqueeze-command.h
squeeze/trunk/libsqueeze/libsqueeze-mime-support.h
squeeze/trunk/libsqueeze/mime-support.c
squeeze/trunk/libsqueeze/mime-support.h
Modified:
squeeze/trunk/libsqueeze/Makefile.am
squeeze/trunk/libsqueeze/archive-iter.c
squeeze/trunk/libsqueeze/archive-iter.h
squeeze/trunk/libsqueeze/archive-tempfs.c
squeeze/trunk/libsqueeze/archive.c
squeeze/trunk/libsqueeze/archive.h
squeeze/trunk/libsqueeze/internals.c
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/application.c
squeeze/trunk/src/main_window.c
squeeze/trunk/src/new_dialog.c
Log:
moved some code around
Modified: squeeze/trunk/libsqueeze/Makefile.am
===================================================================
--- squeeze/trunk/libsqueeze/Makefile.am 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/Makefile.am 2007-07-28 13:10:25 UTC (rev
25937)
@@ -3,15 +3,11 @@
libsqueeze_1_la_SOURCES = \
internals.c internals.h \
libsqueeze.c libsqueeze.h \
- libsqueeze-archive.h \
- libsqueeze-view.h \
- libsqueeze-command.h \
- libsqueeze-module.h \
- libsqueeze-mime-support.h \
slist.c slist.h \
- mime-support.c mime-support.h \
+ support-template.c support-template.h \
archive.c archive.h \
archive-iter.c archive-iter.h \
+ archive-iter-pool.c archive-iter-pool.h \
archive-tempfs.c archive-tempfs.h \
support-factory.c support-factory.h \
support-reader.c support-reader.h
Added: squeeze/trunk/libsqueeze/archive-iter-pool.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter-pool.c
(rev 0)
+++ squeeze/trunk/libsqueeze/archive-iter-pool.c 2007-07-28 13:10:25 UTC
(rev 25937)
@@ -0,0 +1,202 @@
+/*
+ * 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-object.h>
+#include <thunar-vfs/thunar-vfs.h>
+#include "libsqueeze.h"
+#include "libsqueeze-view.h"
+
+
+
+struct _LSQArchiveIterPool
+{
+ LSQArchiveIter **pool;
+ guint size;
+ guint reserved;
+};
+
+LSQArchiveIterPool *
+lsq_archive_iter_pool_new()
+{
+ return g_new0(LSQArchiveIterPool, 1);
+}
+
+void
+lsq_archive_iter_pool_free(LSQArchiveIterPool *pool)
+{
+ /* lsq_archive_iter_pool_print();*/
+ /* free the pool of iters */
+ guint i;
+ for(i = 0; i < pool->size; ++i)
+ {
+ lsq_archive_iter_unref(pool->pool[i]);
+ }
+ for(i = 0; i < pool->size; ++i)
+ {
+#ifdef USE_LSQITER_SLICES
+ /* Cleaning up the whole pool */
+ /* Now we can free the iters */
+#ifdef USE_GSLICES
+ g_slice_free(LSQArchiveIter, pool->pool[i]);
+#else
+ g_free(pool->pool[i]);
+#endif
+#elif USE_GSLICES
+ g_slice_free(LSQArchiveIter, pool->pool[i]);
+#else
+ g_free(pool->pool[i]);
+#endif
+ }
+#ifdef USE_LSQITER_SLICES
+ for(; i < pool->reserved; ++i)
+ {
+ /* Cleaning up the whole pool */
+ /* Now we can free the iters */
+ if(!pool->pool[i])
+ break;
+#ifdef USE_GSLICES
+ g_slice_free(LSQArchiveIter, pool->pool[i]);
+#else
+ g_free(pool->pool[i]);
+#endif
+ }
+#endif
+ g_free(pool->pool);
+ g_free(pool);
+}
+
+gboolean
+lsq_archive_iter_pool_find_iter(LSQArchiveIterPool *ipool, LSQArchiveEntry
*entry, LSQArchiveIter **ret_iter, guint *ret_pos)
+{
+ /* binary search */
+ LSQArchiveIter **pool = ipool->pool;
+ guint size = ipool->size;
+ guint pos;
+ guint off = 0;
+ gint cmp;
+ while(size)
+ {
+ pos = size / 2;
+ cmp = (gint)entry - (gint)pool[off+pos]->entry;
+ if(cmp == 0)
+ {
+ if(ret_iter)
+ (*ret_iter) = pool[off+pos];
+ if(ret_pos)
+ (*ret_pos) = off+pos;
+ return TRUE;
+ }
+ if(cmp > 0)
+ {
+ size -= ++pos;
+ off += pos;
+ }
+ if(cmp < 0)
+ {
+ size = pos;
+ }
+ }
+ if(ret_pos)
+ (*ret_pos) = off;
+ return FALSE;
+}
+
+void
+lsq_archive_iter_pool_insert_iter(LSQArchiveIterPool *ipool, LSQArchiveIter
*iter, guint pos)
+{
+ LSQArchiveIter **pool, **old_pool = pool = ipool->pool;
+ guint i;
+
+ /* make space for new iter */
+ if(ipool->size >= ipool->reserved)
+ {
+ pool = g_new(LSQArchiveIter*, ipool->reserved + ipool->size +
1);
+ for(i = 0; i < pos; ++i)
+ {
+ pool[i] = old_pool[i];
+ }
+ }
+
+ /* move all behind the iter */
+ for(i = ipool->size; i > pos; --i)
+ {
+ pool[i] = old_pool[i-1];
+ }
+
+ /* finish up the new pool */
+ ipool->size++;
+ if(ipool->size > ipool->reserved)
+ {
+ ipool->reserved += ipool->size;
+ ipool->pool = pool;
+ g_free(old_pool);
+#ifdef USE_LSQITER_SLICES
+ /* We need to know if there are still allocations left */
+ /* Make all unallocated NULL */
+ for(i = ipool->size; i < ipool->reserved; ++i)
+ {
+ pool[i] = NULL;
+ }
+#endif
+ }
+
+ /* insert the iter */
+ pool[pos] = iter;
+}
+
+void
+lsq_archive_iter_pool_remove_iter(LSQArchiveIterPool *ipool, LSQArchiveIter
*iter)
+{
+ LSQArchiveIter **pool = ipool->pool;
+ guint pos;
+
+ /* iter has been found (should allways) */
+ if(G_LIKELY(lsq_archive_iter_pool_find_iter(ipool, iter->entry, NULL,
&pos)))
+ {
+ ipool->size--;
+
+ for(; pos < ipool->size; ++pos)
+ {
+ pool[pos] = pool[pos+1];
+ }
+#ifdef USE_LSQITER_SLICES
+ /* We don't free the pointer so move it */
+ /* Place it at the end om the pool */
+ pool[ipool->size] = iter;
+#endif
+ }
+}
+
+gint
+lsq_archive_iter_pool_get_size(LSQArchiveIterPool *pool)
+{
+ return pool->size;
+}
+
+gint
+lsq_archive_iter_pool_get_reserved(LSQArchiveIterPool *pool)
+{
+ return pool->reserved;
+}
+
+LSQArchiveIter *
+lsq_archive_iter_pool_get_iter(LSQArchiveIterPool *pool, gint index)
+{
+ return pool->pool[index];
+}
Added: squeeze/trunk/libsqueeze/archive-iter-pool.h
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter-pool.h
(rev 0)
+++ squeeze/trunk/libsqueeze/archive-iter-pool.h 2007-07-28 13:10:25 UTC
(rev 25937)
@@ -0,0 +1,60 @@
+/*
+ * 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 __ARCHIVE_ITER_POOL_H__
+#define __ARCHIVE_ITER_POOL_H__
+G_BEGIN_DECLS
+
+#define LSQ_TYPE_ARCHIVE lsq_archive_get_type()
+
+#define LSQ_ARCHIVE(obj) ( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ LSQ_TYPE_ARCHIVE, \
+ LSQArchive))
+
+#define LSQ_IS_ARCHIVE(obj) ( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ LSQ_TYPE_ARCHIVE))
+
+#define LSQ_ARCHIVE_CLASS(class) ( \
+ G_TYPE_CHECK_CLASS_CAST ((class), \
+ LSQ_TYPE_ARCHIVE, \
+ LSQArchiveClass))
+
+#define LSQ_IS_ARCHIVE_CLASS(class) ( \
+ G_TYPE_CHECK_CLASS_TYPE ((class), \
+ LSQ_TYPE_ARCHIVE))
+
+typedef struct _LSQArchiveIter LSQArchiveIter;
+typedef struct _LSQArchiveEntry LSQArchiveEntry;
+typedef struct _LSQArchiveIterPool LSQArchiveIterPool;
+
+LSQArchiveIterPool *lsq_archive_iter_pool_new();
+void lsq_archive_iter_pool_free(LSQArchiveIterPool *pool);
+
+gint lsq_archive_iter_pool_get_size(LSQArchiveIterPool *);
+gint lsq_archive_iter_pool_get_reserved(LSQArchiveIterPool *);
+LSQArchiveIter *lsq_archive_iter_pool_get_iter(LSQArchiveIterPool *, gint
index);
+
+gboolean
+lsq_archive_iter_pool_find_iter(LSQArchiveIterPool *ipool, LSQArchiveEntry
*entry, LSQArchiveIter **ret_iter, guint *ret_pos);
+void
+lsq_archive_iter_pool_insert_iter(LSQArchiveIterPool *ipool, LSQArchiveIter
*iter, guint pos);
+void
+lsq_archive_iter_pool_remove_iter(LSQArchiveIterPool *ipool, LSQArchiveIter
*iter);
+
+G_END_DECLS
+
+#endif /* __ARCHIVE_H__ */
Modified: squeeze/trunk/libsqueeze/archive-iter.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter.c 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/archive-iter.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -21,13 +21,8 @@
#include <thunar-vfs/thunar-vfs.h>
#include "libsqueeze.h"
-#include "libsqueeze-archive.h"
#include "libsqueeze-view.h"
-#include "libsqueeze-command.h"
-#include "archive-iter.h"
-#include "archive-command.h"
#include "support-factory.h"
-#include "archive.h"
#include "slist.h"
#include "internals.h"
@@ -96,28 +91,7 @@
LSQSList *buffer;
};
-struct _LSQArchiveIter
-{
- LSQArchive *archive;
- LSQArchiveEntry *entry;
- LSQArchiveIter *parent;
- guint ref_count;
-};
-/****************************
- * LSQArchiveIterPool stuff *
- ****************************/
-
-inline static void
-lsq_archive_iter_pool_free(LSQArchiveIterPool *pool);
-
-struct _LSQArchiveIterPool
-{
- LSQArchiveIter **pool;
- guint size;
- guint reserved;
-};
-
/**************
* Init stuff *
**************/
@@ -126,7 +100,7 @@
void
lsq_archive_init_iter(LSQArchive *archive)
{
- pool = archive->pool = g_new0(LSQArchiveIterPool, 1);
+ pool = archive->pool = lsq_archive_iter_pool_new();
archive->root_entry = g_new0(LSQArchiveEntry, 1);
}
@@ -137,175 +111,6 @@
lsq_archive_entry_free(archive, archive->root_entry);
}
-/****************************
- * LSQArchiveIterPool stuff *
- ****************************/
-
-void lsq_archive_iter_pool_print()
-{
- guint i;
- for(i = 0; i < pool->size; ++i)
- {
- if(pool->pool[i]->parent)
- printf("%d %d %p %s\t%p %s\n", i,
pool->pool[i]->ref_count, pool->pool[i]->entry,
pool->pool[i]->entry?pool->pool[i]->entry->filename:"(no entry)",
pool->pool[i]->parent->entry,
pool->pool[i]->parent->entry?pool->pool[i]->parent->entry->filename:"(no
parent)");
- else
- printf("%d %d %p %s\t(no parent)\n", i,
pool->pool[i]->ref_count, pool->pool[i]->entry,
pool->pool[i]->entry?pool->pool[i]->entry->filename:"(no entry)");
- }
-#ifdef USE_LSQITER_SLICES
- for(; i < pool->reserved; ++i)
- {
- printf("%d %p\n", i, pool->pool[i]);
- }
-#endif
-}
-
-inline static void
-lsq_archive_iter_pool_free(LSQArchiveIterPool *pool)
-{
- lsq_archive_iter_pool_print();
- /* free the pool of iters */
- guint i;
- for(i = 0; i < pool->size; ++i)
- {
- if(!lsq_archive_iter_is_real(pool->pool[i]))
- lsq_archive_entry_free(pool->pool[i]->archive,
pool->pool[i]->entry);
- }
- for(i = 0; i < pool->size; ++i)
- {
-#ifdef USE_LSQITER_SLICES
- /* Cleaning up the whole pool */
- /* Now we can free the iters */
-#ifdef USE_GSLICES
- g_slice_free(LSQArchiveIter, pool->pool[i]);
-#else
- g_free(pool->pool[i]);
-#endif
-#elif USE_GSLICES
- g_slice_free(LSQArchiveIter, pool->pool[i]);
-#else
- g_free(pool->pool[i]);
-#endif
- }
-#ifdef USE_LSQITER_SLICES
- for(; i < pool->reserved; ++i)
- {
- /* Cleaning up the whole pool */
- /* Now we can free the iters */
- if(!pool->pool[i])
- break;
-#ifdef USE_GSLICES
- g_slice_free(LSQArchiveIter, pool->pool[i]);
-#else
- g_free(pool->pool[i]);
-#endif
- }
-#endif
- g_free(pool->pool);
- g_free(pool);
-}
-
-static gboolean
-lsq_archive_iter_pool_find_iter(LSQArchiveIterPool *ipool, LSQArchiveEntry
*entry, LSQArchiveIter **ret_iter, guint *ret_pos)
-{
- /* binary search */
- LSQArchiveIter **pool = ipool->pool;
- guint size = ipool->size;
- guint pos;
- guint off = 0;
- gint cmp;
- while(size)
- {
- pos = size / 2;
- cmp = (gint)entry - (gint)pool[off+pos]->entry;
- if(cmp == 0)
- {
- if(ret_iter)
- (*ret_iter) = pool[off+pos];
- if(ret_pos)
- (*ret_pos) = off+pos;
- return TRUE;
- }
- if(cmp > 0)
- {
- size -= ++pos;
- off += pos;
- }
- if(cmp < 0)
- {
- size = pos;
- }
- }
- if(ret_pos)
- (*ret_pos) = off;
- return FALSE;
-}
-
-static void
-lsq_archive_iter_pool_insert_iter(LSQArchiveIterPool *ipool, LSQArchiveIter
*iter, guint pos)
-{
- LSQArchiveIter **pool, **old_pool = pool = ipool->pool;
- guint i;
-
- /* make space for new iter */
- if(ipool->size >= ipool->reserved)
- {
- pool = g_new(LSQArchiveIter*, ipool->reserved + ipool->size +
1);
- for(i = 0; i < pos; ++i)
- {
- pool[i] = old_pool[i];
- }
- }
-
- /* move all behind the iter */
- for(i = ipool->size; i > pos; --i)
- {
- pool[i] = old_pool[i-1];
- }
-
- /* finish up the new pool */
- ipool->size++;
- if(ipool->size > ipool->reserved)
- {
- ipool->reserved += ipool->size;
- ipool->pool = pool;
- g_free(old_pool);
-#ifdef USE_LSQITER_SLICES
- /* We need to know if there are still allocations left */
- /* Make all unallocated NULL */
- for(i = ipool->size; i < ipool->reserved; ++i)
- {
- pool[i] = NULL;
- }
-#endif
- }
-
- /* insert the iter */
- pool[pos] = iter;
-}
-
-static void
-lsq_archive_iter_pool_remove_iter(LSQArchiveIterPool *ipool, LSQArchiveIter
*iter)
-{
- LSQArchiveIter **pool = ipool->pool;
- guint pos;
-
- /* iter has been found (should allways) */
- if(G_LIKELY(lsq_archive_iter_pool_find_iter(ipool, iter->entry, NULL,
&pos)))
- {
- ipool->size--;
-
- for(; pos < ipool->size; ++pos)
- {
- pool[pos] = pool[pos+1];
- }
-#ifdef USE_LSQITER_SLICES
- /* We don't free the pointer so move it */
- /* Place it at the end om the pool */
- pool[ipool->size] = iter;
-#endif
- }
-}
-
/************************
* LSQArchiveIter stuff *
************************/
@@ -317,7 +122,8 @@
LSQArchiveIter *iter;
#ifdef USE_LSQITER_SLICES
/* Lets see if there is an iter we can use */
- if(archive->pool->size >= archive->pool->reserved || !(iter =
archive->pool->pool[archive->pool->size]))
+ if(lsq_archive_iter_pool_get_size(archive->pool) >=
lsq_archive_iter_pool_get_reserved(archive->pool) ||
+ !(iter = lsq_archive_iter_pool_get_iter(archive->pool,
lsq_archive_iter_pool_get_size(archive->pool))))
{
/* No iter found, make a new one */
#ifdef USE_GSLICES
Modified: squeeze/trunk/libsqueeze/archive-iter.h
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter.h 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/archive-iter.h 2007-07-28 13:10:25 UTC (rev
25937)
@@ -1,4 +1,5 @@
/*
+ *
* 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
@@ -17,15 +18,34 @@
#define __LIBSQUEEZE_ARCHIVE_ITER_H__
G_BEGIN_DECLS
-typedef struct _LSQArchiveIterPool LSQArchiveIterPool;
+struct _LSQArchiveIter
+{
+ LSQArchive *archive;
+ LSQArchiveEntry *entry;
+ LSQArchiveIter *parent;
+ guint ref_count;
+};
+
void lsq_archive_init_iter(LSQArchive *);
void lsq_archive_free_iter(LSQArchive *);
-gboolean lsq_archive_remove_file(LSQArchive *, const gchar *);
void lsq_archive_iter_remove(LSQArchiveIter *, gboolean);
+#ifdef DEBUG
+LSQArchiveIter *_lsq_archive_iter_ref(LSQArchiveIter *iter, const gchar*, int);
+void _lsq_archive_iter_unref(LSQArchiveIter *iter, const gchar*,
int);
+/*
+#define lsq_archive_iter_ref(iter) _lsq_archive_iter_ref(iter, __FILE__,
__LINE__)
+#define lsq_archive_iter_unref(iter) _lsq_archive_iter_unref(iter, __FILE__,
__LINE__)
+*/
+#endif
+
+LSQArchiveIter *lsq_archive_iter_ref(LSQArchiveIter *iter);
+void lsq_archive_iter_unref(LSQArchiveIter *iter);
+
+
G_END_DECLS
#endif /* __LIBSQUEEZE_ARCHIVE_ITER_H__ */
Modified: squeeze/trunk/libsqueeze/archive-tempfs.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-tempfs.c 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/archive-tempfs.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -27,7 +27,6 @@
#include <thunar-vfs/thunar-vfs.h>
#include "libsqueeze.h"
-#include "libsqueeze-archive.h"
#include "archive-iter.h"
#include "support-factory.h"
#include "archive.h"
Modified: squeeze/trunk/libsqueeze/archive.c
===================================================================
--- squeeze/trunk/libsqueeze/archive.c 2007-07-27 12:56:55 UTC (rev 25936)
+++ squeeze/trunk/libsqueeze/archive.c 2007-07-28 13:10:25 UTC (rev 25937)
@@ -25,13 +25,13 @@
#include <thunar-vfs/thunar-vfs.h>
#include "libsqueeze.h"
-#include "archive-iter.h"
+#include "libsqueeze-view.h"
+#include "support-template.h"
#include "support-factory.h"
-#include "archive.h"
+
#include "slist.h"
#include "archive-tempfs.h"
-#include "mime-support.h"
#include "internals.h"
@@ -43,11 +43,6 @@
#define LSQ_MIME_DIRECTORY "inode/directory"
#endif
-struct _LSQArchiveClass
-{
- GObjectClass parent;
-};
-
static void
lsq_archive_class_init(LSQArchiveClass *archive_class);
@@ -158,34 +153,33 @@
if(path)
{
if(g_path_is_absolute(path))
- archive->path_info = thunar_vfs_path_new(path, NULL);
+ archive->priv->path_info = thunar_vfs_path_new(path,
NULL);
else
- archive->path_info =
thunar_vfs_path_relative(lsq_relative_base_path, path);
- archive->path = thunar_vfs_path_dup_string(archive->path_info);
+ archive->priv->path_info =
thunar_vfs_path_relative(lsq_relative_base_path, path);
}
else
- archive->path_info = NULL;
+ archive->priv->path_info = NULL;
- archive->file_info = thunar_vfs_info_new_for_path(archive->path_info,
NULL);
- if(archive->file_info)
+ archive->priv->file_info =
thunar_vfs_info_new_for_path(archive->priv->path_info, NULL);
+ if(archive->priv->file_info)
{
- archive->mime_info = archive->file_info->mime_info;
- thunar_vfs_mime_info_ref(archive->mime_info);
+ archive->priv->mime_info = archive->priv->file_info->mime_info;
+ thunar_vfs_mime_info_ref(archive->priv->mime_info);
}
else
{
if(mime)
- archive->mime_info =
thunar_vfs_mime_database_get_info(lsq_mime_database, mime);
+ archive->priv->mime_info =
thunar_vfs_mime_database_get_info(lsq_mime_database, mime);
else
{
base = g_path_get_basename(path);
- archive->mime_info =
thunar_vfs_mime_database_get_info_for_file(lsq_mime_database, path, base);
+ archive->priv->mime_info =
thunar_vfs_mime_database_get_info_for_file(lsq_mime_database, path, base);
g_free(base);
}
}
#ifdef DEBUG
- g_debug("%s\n", thunar_vfs_mime_info_get_name(archive->mime_info));
+ g_debug("%s\n",
thunar_vfs_mime_info_get_name(archive->priv->mime_info));
#endif
return archive;
@@ -251,24 +245,26 @@
/*
* lsq_archive_get_filename:
+ * @archive: LSQArchive object
*
- * @archive: LSQArchive object
+ * Return value: filename string
*/
-gchar *
+const gchar *
lsq_archive_get_filename(const LSQArchive *archive)
{
- return g_path_get_basename(archive->path);
+ return thunar_vfs_path_get_name(archive->priv->path_info);
}
/*
* lsq_archive_get_path:
+ * @archive: LSQArchive object
*
- * @archive: LSQArchive object
+ * Return value: newly allocated path string
*/
-const gchar *
+gchar *
lsq_archive_get_path(const LSQArchive *archive)
{
- return archive->path;
+ return thunar_vfs_path_dup_string(archive->priv->path_info);
}
/*
@@ -279,7 +275,7 @@
const gchar *
lsq_archive_get_mimetype(const LSQArchive *archive)
{
- return thunar_vfs_mime_info_get_name(archive->mime_info);
+ return thunar_vfs_mime_info_get_name(archive->priv->mime_info);
}
/*
@@ -290,15 +286,11 @@
gboolean
lsq_archive_exists(const LSQArchive *archive)
{
- if(archive->file_info)
+ if(!archive->priv->file_info)
+ archive->priv->file_info =
thunar_vfs_info_new_for_path(archive->priv->path_info, NULL);
+
+ if(archive->priv->file_info)
return TRUE;
-
- if(g_file_test(archive->path, G_FILE_TEST_EXISTS))
- {
- if(!g_file_test(archive->path, G_FILE_TEST_IS_DIR))
- return TRUE;
- /* TODO: should file_info be created */
- }
return FALSE;
}
@@ -333,33 +325,18 @@
{
lsq_opened_archive_list = g_slist_remove(lsq_opened_archive_list,
archive);
- if(archive->path)
- g_free(archive->path);
- if(archive->path_info)
- thunar_vfs_path_unref(archive->path_info);
- if(archive->file_info)
- thunar_vfs_info_unref(archive->file_info);
- if(archive->mime_info)
- thunar_vfs_mime_info_unref(archive->mime_info);
+ if(archive->priv->path_info)
+ thunar_vfs_path_unref(archive->priv->path_info);
+ if(archive->priv->file_info)
+ thunar_vfs_info_unref(archive->priv->file_info);
+ if(archive->priv->mime_info)
+ thunar_vfs_mime_info_unref(archive->priv->mime_info);
lsq_archive_stop(archive);
g_object_unref(archive);
}
gboolean
-lsq_archive_operate(LSQArchive *archive, LSQCommandType type, const gchar
*dest_path, GSList *files, GError **error)
-{
- return FALSE;
-}
-
-
-LSQSupportType
-lsq_archive_get_support_mask(const LSQArchive *archive)
-{
- return archive->support->support_mask;
-}
-
-gboolean
lsq_archive_can_stop(const LSQArchive *archive)
{
return FALSE;
@@ -376,3 +353,27 @@
{
return NULL;
}
+
+/**
+ * lsq_archive_get_path_info:
+ * @archive: the archive
+ *
+ * Return value: the ThunarVfsPath information of the archive.
+ */
+ThunarVfsPath *
+lsq_archive_get_path_info(LSQArchive *archive)
+{
+ return archive->priv->path_info;
+}
+
+LSQSupportType
+lsq_archive_get_support_mask(const LSQArchive *archive)
+{
+ return archive->priv->s_template->support_mask;
+}
+
+gboolean
+lsq_archive_operate(LSQArchive *archive, LSQCommandType type)
+{
+ return FALSE;
+}
Modified: squeeze/trunk/libsqueeze/archive.h
===================================================================
--- squeeze/trunk/libsqueeze/archive.h 2007-07-27 12:56:55 UTC (rev 25936)
+++ squeeze/trunk/libsqueeze/archive.h 2007-07-28 13:10:25 UTC (rev 25937)
@@ -17,33 +17,94 @@
#define __ARCHIVE_H__
G_BEGIN_DECLS
-typedef struct _LSQArchiveEntry LSQArchiveEntry;
+#define LSQ_TYPE_ARCHIVE lsq_archive_get_type()
-struct _LSQArchive
+#define LSQ_ARCHIVE(obj) ( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ LSQ_TYPE_ARCHIVE, \
+ LSQArchive))
+
+#define LSQ_IS_ARCHIVE(obj) ( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ LSQ_TYPE_ARCHIVE))
+
+#define LSQ_ARCHIVE_CLASS(class) ( \
+ G_TYPE_CHECK_CLASS_CAST ((class), \
+ LSQ_TYPE_ARCHIVE, \
+ LSQArchiveClass))
+
+#define LSQ_IS_ARCHIVE_CLASS(class) ( \
+ G_TYPE_CHECK_CLASS_TYPE ((class), \
+ LSQ_TYPE_ARCHIVE))
+
+enum
{
- GObject parent;
- gchar *path;
+ LSQ_ARCHIVE_PROP_FILENAME = 0,
+ LSQ_ARCHIVE_PROP_MIME_TYPE,
+ LSQ_ARCHIVE_PROP_USER
+};
+
+typedef struct _LSQArchivePrivate LSQArchivePrivate;
+
+struct _LSQArchivePrivate
+{
ThunarVfsPath *path_info;
ThunarVfsInfo *file_info;
ThunarVfsMimeInfo *mime_info;
+
+ LSQSupportTemplate *s_template;
+
+};
+
+
+typedef struct _LSQArchive LSQArchive;
+
+struct _LSQArchive
+{
+ GObject parent;
+ LSQArchivePrivate *priv;
LSQArchiveEntry *root_entry;
- LSQMimeSupport *support;
+ LSQArchiveIterPool *pool;
+ gchar *temp_dir;
+ GSList *monitor_list;
struct {
guint64 archive_size;
guint64 content_size;
guint64 n_files;
guint64 n_directories;
} props;
- gchar *temp_dir;
- GSList *monitor_list;
- LSQArchiveIterPool *pool;
};
+
+typedef struct _LSQArchiveClass LSQArchiveClass;
+
+struct _LSQArchiveClass
+{
+ GObjectClass parent;
+};
+
+
+GType lsq_archive_get_type(void);
+
+gchar *lsq_archive_get_path(const LSQArchive *archive);
+const gchar *lsq_archive_get_filename(const LSQArchive *archive);
+const gchar *lsq_archive_get_mimetype(const LSQArchive *archive);
+const gchar *lsq_archive_get_status(const LSQArchive *archive);
+gboolean lsq_archive_exists(const LSQArchive *archive);
+LSQSupportType lsq_archive_get_support_mask(const LSQArchive *archive);
+
+
LSQArchive *lsq_archive_new(gchar *, const gchar *) G_GNUC_INTERNAL;
void lsq_archive_state_changed(const LSQArchive *archive)
G_GNUC_INTERNAL;
-
void lsq_archive_add_children(GSList *files);
+gboolean lsq_archive_remove_file(LSQArchive *, const gchar *);
+ThunarVfsPath *lsq_archive_get_path_info(LSQArchive *);
+
+gboolean lsq_archive_operate(LSQArchive *archive, LSQCommandType type);
+
+
+
G_END_DECLS
#endif /* __ARCHIVE_H__ */
Modified: squeeze/trunk/libsqueeze/internals.c
===================================================================
--- squeeze/trunk/libsqueeze/internals.c 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/internals.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -20,15 +20,14 @@
#include <glib-object.h>
#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"
-#include "archive-iter.h"
-#include "archive-command.h"
+#include "libsqueeze.h"
+#include "support-template.h"
#include "archive.h"
+#include "archive-iter.h"
+#include "support-factory.h"
+#include "libsqueeze-view.h"
+
#include "internals.h"
#define __USE_GNU
@@ -83,7 +82,7 @@
else
path_info = thunar_vfs_path_relative(lsq_relative_base_path,
path);
- if(thunar_vfs_path_equal(((LSQArchive *)open_archive)->path_info,
path_info))
+
if(thunar_vfs_path_equal(lsq_archive_get_path_info(LSQ_ARCHIVE(open_archive)),
path_info))
{
if(path_info)
thunar_vfs_path_unref(path_info);
Deleted: squeeze/trunk/libsqueeze/libsqueeze-archive.h
Deleted: squeeze/trunk/libsqueeze/libsqueeze-command.h
Deleted: squeeze/trunk/libsqueeze/libsqueeze-mime-support.h
Modified: squeeze/trunk/libsqueeze/libsqueeze.c
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze.c 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/libsqueeze.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -23,19 +23,13 @@
#include <thunar-vfs/thunar-vfs.h>
#include "libsqueeze.h"
-#include "libsqueeze-command.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 "internals.h"
-static gint
-lsq_lookup_mime(gconstpointer a, gconstpointer b);
-
void
lsq_init()
{
@@ -170,48 +164,14 @@
return 0;
}
-
-GSList *
-lsq_get_supported_mime_types(LSQCommandType type)
-{
- GSList *m_types = g_slist_copy(lsq_mime_support_list);
- GSList *_types = m_types;
- switch(type)
- {
- 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;
-}
-
-static gint
-lsq_lookup_mime(gconstpointer a, gconstpointer 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_support_list, mime_info,
lsq_lookup_mime);
- thunar_vfs_mime_info_unref(mime_info);
- if(result)
- {
- return TRUE;
- }
- return FALSE;
+ return FALSE;
}
+GSList *
+lsq_get_supported_mime_types(LSQCommandType type)
+{
+ return NULL;
+}
Modified: squeeze/trunk/libsqueeze/libsqueeze.h
===================================================================
--- squeeze/trunk/libsqueeze/libsqueeze.h 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/libsqueeze.h 2007-07-28 13:10:25 UTC (rev
25937)
@@ -17,11 +17,13 @@
#ifndef __LIBSQUEEZE_H__
#define __LIBSQUEEZE_H__
-#include <libsqueeze/libsqueeze-archive.h>
-#include <libsqueeze/libsqueeze-mime-support.h>
+#include <libsqueeze/support-template.h>
+#include <libsqueeze/archive-iter-pool.h>
+#include <libsqueeze/archive.h>
+#include <libsqueeze/archive-iter.h>
+
#include <libsqueeze/libsqueeze-view.h>
-
G_BEGIN_DECLS
/*
Deleted: squeeze/trunk/libsqueeze/mime-support.c
Deleted: squeeze/trunk/libsqueeze/mime-support.h
Modified: squeeze/trunk/libsqueeze/slist.c
===================================================================
--- squeeze/trunk/libsqueeze/slist.c 2007-07-27 12:56:55 UTC (rev 25936)
+++ squeeze/trunk/libsqueeze/slist.c 2007-07-28 13:10:25 UTC (rev 25937)
@@ -20,10 +20,7 @@
#include <thunar-vfs/thunar-vfs.h>
#include "libsqueeze.h"
-#include "libsqueeze-archive.h"
#include "support-factory.h"
-#include "archive-iter.h"
-#include "archive.h"
#include "internals.h"
#include "slist.h"
Modified: squeeze/trunk/libsqueeze/support-factory.c
===================================================================
--- squeeze/trunk/libsqueeze/support-factory.c 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/support-factory.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -25,16 +25,12 @@
#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
@@ -117,18 +113,17 @@
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)));
+ return 0;
}
void
-lsq_support_factory_add_mime(LSQSupportFactory *factory, LSQMimeSupport
*mime_support)
+lsq_support_factory_add_template(LSQSupportFactory *factory,
LSQSupportTemplate *s_template)
{
- GSList *result = g_slist_find_custom(lsq_mime_support_list,
mime_support, lsq_lookup_mime_support);
+ GSList *result = g_slist_find_custom(lsq_mime_support_list, s_template,
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);
+ factory->mime_support = g_slist_prepend(factory->mime_support,
s_template);
+ lsq_mime_support_list = g_slist_prepend(lsq_mime_support_list,
s_template);
}
}
Modified: squeeze/trunk/libsqueeze/support-factory.h
===================================================================
--- squeeze/trunk/libsqueeze/support-factory.h 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/support-factory.h 2007-07-28 13:10:25 UTC (rev
25937)
@@ -40,6 +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);
+void lsq_support_factory_add_template(LSQSupportFactory
*factory, LSQSupportTemplate *s_template);
#endif /* __LIBSQUEEZE_SUPPORT_FACTORY_H__ */
Modified: squeeze/trunk/libsqueeze/support-reader.c
===================================================================
--- squeeze/trunk/libsqueeze/support-reader.c 2007-07-27 12:56:55 UTC (rev
25936)
+++ squeeze/trunk/libsqueeze/support-reader.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -26,12 +26,10 @@
#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"
@@ -142,13 +140,13 @@
gchar **_mime_types = mime_types;
for(i = 0; _mime_types[i]; ++i)
{
- LSQMimeSupport *mime_support = g_new(LSQMimeSupport, 1);
+ LSQSupportTemplate *s_template = g_new(LSQSupportTemplate, 1);
xfce_rc_set_group(rc, _mime_types[i]);
/* only add to builder->mime_types if all req. apps are found */
- mime_support->required_apps = xfce_rc_read_list_entry(rc,
"X-Squeeze-Requires", ";");
- gchar **_iter = mime_support->required_apps;
- mime_support->supported = TRUE;
+ s_template->required_apps = xfce_rc_read_list_entry(rc,
"X-Squeeze-Requires", ";");
+ gchar **_iter = s_template->required_apps;
+ s_template->supported = TRUE;
while(*_iter)
{
gchar *path = g_find_program_in_path(*_iter);
@@ -156,22 +154,22 @@
g_free(path);
else
{
- mime_support->supported = FALSE;
+ s_template->supported = FALSE;
break;
}
_iter++;
}
- mime_support->mime_info =
thunar_vfs_mime_database_get_info(lsq_mime_database, _mime_types[i]);
- mime_support->id = (const gchar *)factory->id;
+ s_template->mime_info =
thunar_vfs_mime_database_get_info(lsq_mime_database, _mime_types[i]);
+ s_template->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", ";");
- mime_support->remove_cmd_queue = xfce_rc_read_list_entry(rc,
"X-Squeeze-Remove", ";");
- 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", ";");
+ s_template->new_cmd_queue = xfce_rc_read_list_entry(rc,
"X-Squeeze-New", ";");
+ s_template->add_cmd_queue = xfce_rc_read_list_entry(rc,
"X-Squeeze-Add", ";");
+ s_template->remove_cmd_queue = xfce_rc_read_list_entry(rc,
"X-Squeeze-Remove", ";");
+ s_template->extract_cmd_queue = xfce_rc_read_list_entry(rc,
"X-Squeeze-Extract", ";");
+ s_template->refresh_cmd_queue = xfce_rc_read_list_entry(rc,
"X-Squeeze-Refresh", ";");
- lsq_support_factory_add_mime(factory, mime_support);
+ lsq_support_factory_add_template(factory, s_template);
}
return factory;
Added: squeeze/trunk/libsqueeze/support-template.c
===================================================================
--- squeeze/trunk/libsqueeze/support-template.c (rev 0)
+++ squeeze/trunk/libsqueeze/support-template.c 2007-07-28 13:10:25 UTC (rev
25937)
@@ -0,0 +1,24 @@
+/*
+ * 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 <thunar-vfs/thunar-vfs.h>
+
+#include "support-template.h"
Copied: squeeze/trunk/libsqueeze/support-template.h (from rev 25921,
squeeze/trunk/libsqueeze/mime-support.h)
===================================================================
--- squeeze/trunk/libsqueeze/support-template.h (rev 0)
+++ squeeze/trunk/libsqueeze/support-template.h 2007-07-28 13:10:25 UTC (rev
25937)
@@ -0,0 +1,56 @@
+/*
+ * 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 __SUPPORT_TEMPLATE_H__
+#define __SUPPORT_TEMPLATE_H__
+
+typedef enum
+{
+ LSQ_SUPPORT_FILES = 1 << 0x0,
+ LSQ_SUPPORT_FOLDERS = 1 << 0x1,
+ LSQ_SUPPORT_MANY = 1 << 0x2
+} LSQSupportType;
+
+typedef enum
+{
+ LSQ_COMMAND_TYPE_ADD,
+ LSQ_COMMAND_TYPE_REMOVE,
+ LSQ_COMMAND_TYPE_EXTRACT,
+ LSQ_COMMAND_TYPE_REFRESH,
+ LSQ_COMMAND_TYPE_OPEN,
+ LSQ_COMMAND_TYPE_TEST
+} LSQCommandType;
+
+typedef struct _LSQSupportTemplate LSQSupportTemplate;
+
+struct _LSQSupportTemplate
+{
+ 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 /* __SUPPORT_TEMPLATE_H__ */
+
Modified: squeeze/trunk/src/application.c
===================================================================
--- squeeze/trunk/src/application.c 2007-07-27 12:56:55 UTC (rev 25936)
+++ squeeze/trunk/src/application.c 2007-07-28 13:10:25 UTC (rev 25937)
@@ -182,7 +182,7 @@
g_signal_connect(G_OBJECT(lp_archive), "command-terminated",
G_CALLBACK(cb_sq_application_archive_command_terminated), app);
GtkWidget *message_dialog = sq_message_dialog_new(GTK_WINDOW_TOPLEVEL,
lp_archive);
gtk_widget_show(message_dialog);
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT,
dest_path, NULL, NULL))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -257,7 +257,8 @@
g_signal_connect(G_OBJECT(lp_archive), "command-terminated",
G_CALLBACK(cb_sq_application_archive_command_terminated), app);
GtkWidget *message_dialog = sq_message_dialog_new(GTK_WINDOW_TOPLEVEL,
lp_archive);
gtk_widget_show(message_dialog);
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD, NULL, files,
NULL))
+
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD))
{
/* FIXME: show warning dialog */
GtkWidget *warning_dialog = gtk_message_dialog_new(NULL,
Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c 2007-07-27 12:56:55 UTC (rev 25936)
+++ squeeze/trunk/src/main_window.c 2007-07-28 13:10:25 UTC (rev 25937)
@@ -735,6 +735,7 @@
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE);
+ /*
GSList *supported_mime_types = lsq_get_supported_mime_types(0);
GSList *_supported_mime_types = supported_mime_types;
@@ -757,6 +758,7 @@
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter_all);
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter_all);
+ */
result = gtk_dialog_run (GTK_DIALOG (dialog) );
@@ -815,7 +817,7 @@
lsq_iter_slist_free(filenames);
filenames = NULL;
}
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT,
extract_archive_path, filenames, NULL))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT))
{
GtkWidget *warning_dialog =
gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -863,7 +865,7 @@
filenames =
gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
if(filenames)
{
- if(!lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_ADD, NULL, filenames, NULL))
+ if(!lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_ADD))
{
GtkWidget *warning_dialog =
gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -905,7 +907,7 @@
filenames =
gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
if(filenames)
{
- if(!lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_ADD, NULL, filenames, NULL))
+ if(!lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_ADD))
{
GtkWidget *warning_dialog =
gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -939,7 +941,7 @@
gtk_widget_hide(dialog);
sq_notebook_get_active_archive(SQ_NOTEBOOK(window->notebook), &lp_archive);
/*
gtk_tree_view_set_model(sq_notebook_get_active_tree_view(SQ_NOTEBOOK(window->notebook)),
NULL); */
- if(!lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_REMOVE, NULL, filenames, NULL))
+ if(!lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_REMOVE))
{
GtkWidget *warning_dialog =
gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -1226,7 +1228,7 @@
{
case GTK_RESPONSE_OK: /* VIEW */
sq_notebook_get_active_archive(SQ_NOTEBOOK(notebook),
&lp_archive);
- if(lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_OPEN, NULL, files, NULL))
+ if(lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_OPEN))
{
GtkWidget *warning_dialog =
gtk_message_dialog_new(window, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, _("Squeeze cannot view this file.\nthe
application to support this is missing."));
if(warning_dialog)
@@ -1249,7 +1251,7 @@
g_slist_free(files);
files = NULL;
}
- if(lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_EXTRACT, extract_archive_path, files, NULL))
+ if(lsq_archive_operate(lp_archive,
LSQ_COMMAND_TYPE_EXTRACT))
{
GtkWidget *warning_dialog =
gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
Modified: squeeze/trunk/src/new_dialog.c
===================================================================
--- squeeze/trunk/src/new_dialog.c 2007-07-27 12:56:55 UTC (rev 25936)
+++ squeeze/trunk/src/new_dialog.c 2007-07-28 13:10:25 UTC (rev 25937)
@@ -80,6 +80,7 @@
gtk_file_filter_set_name(dialog->file_filter, _("Archives"));
while(_supported_mime_types)
{
+ /*
gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->archive_types_combo),
lsq_mime_support_get_comment((LSQMimeSupport
*)(_supported_mime_types->data)));
@@ -87,6 +88,7 @@
lsq_mime_support_get_name((LSQMimeSupport
*)(_supported_mime_types->data)));
_supported_mime_types = g_slist_next(_supported_mime_types);
+ */
}
gtk_box_pack_end(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, TRUE,
0);
@@ -132,7 +134,7 @@
{
_supported_mime_types =
g_slist_next(_supported_mime_types);
}
- const gchar *mime_type =
lsq_mime_support_get_name(((LSQMimeSupport *)_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";
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits