Author: peter
Date: 2008-01-05 23:58:09 +0000 (Sat, 05 Jan 2008)
New Revision: 26546
Modified:
squeeze/trunk/data/gnu-tar.squeeze
squeeze/trunk/libsqueeze/archive-iter.c
squeeze/trunk/libsqueeze/archive-iter.h
squeeze/trunk/libsqueeze/archive.c
squeeze/trunk/libsqueeze/scanf-parser.c
squeeze/trunk/libsqueeze/support-factory.c
squeeze/trunk/libsqueeze/support-template.c
squeeze/trunk/src/main_window.c
squeeze/trunk/src/notebook.c
Log:
fixed the parser
parser is build from the .squeeze file
Modified: squeeze/trunk/data/gnu-tar.squeeze
===================================================================
--- squeeze/trunk/data/gnu-tar.squeeze 2008-01-05 23:49:49 UTC (rev 26545)
+++ squeeze/trunk/data/gnu-tar.squeeze 2008-01-05 23:58:09 UTC (rev 26546)
@@ -52,7 +52,7 @@
X-Squeeze-Options=Password;Overwrite
[Squeeze-Refresh]
-X-Squeeze-Headers=Rights;Owner/Group;Size;Date;Time;Name
+X-Squeeze-Headers=Rights;Owner/Group;Size;Date;Time
# Tar does not support passwords, this is just for illustrative purposes
X-Squeeze-Options=Password
Modified: squeeze/trunk/libsqueeze/archive-iter.c
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter.c 2008-01-05 23:49:49 UTC (rev
26545)
+++ squeeze/trunk/libsqueeze/archive-iter.c 2008-01-05 23:58:09 UTC (rev
26546)
@@ -78,7 +78,7 @@
static void
lsq_archive_entry_set_prop_uint64(const LSQArchive *, LSQArchiveEntry *,
guint, guint64);
static void
-lsq_archive_entry_set_propsv(const LSQArchive *, LSQArchiveEntry *,
gconstpointer *);
+lsq_archive_entry_set_propsv(const LSQArchive *, LSQArchiveEntry *, gpointer
*);
static void
lsq_archive_entry_set_propsva(const LSQArchive *, LSQArchiveEntry *, va_list);
@@ -668,7 +668,7 @@
}
void
-lsq_archive_iter_set_propsv(LSQArchiveIter *iter, gconstpointer *props)
+lsq_archive_iter_set_propsv(LSQArchiveIter *iter, gpointer *props)
{
#ifdef DEBUG
g_return_if_fail(iter);
@@ -1432,7 +1432,7 @@
}
static void
-lsq_archive_entry_set_propsv(const LSQArchive *archive, LSQArchiveEntry
*entry, gconstpointer *props)
+lsq_archive_entry_set_propsv(const LSQArchive *archive, LSQArchiveEntry
*entry, gpointer *props)
{
gpointer props_iter = lsq_archive_entry_get_props(archive, entry);
guint i;
@@ -1443,7 +1443,8 @@
{
case G_TYPE_STRING:
g_free(*((gchar **)props_iter));
- (*((gchar **)props_iter)) = g_strdup((const
gchar*)props[i]);
+ //(*((gchar **)props_iter)) = g_strdup((const
gchar*)props[i]);
+ (*((gchar **)props_iter)) = (gchar*)props[i];
props_iter += sizeof(gchar *);
break;
case G_TYPE_UINT:
Modified: squeeze/trunk/libsqueeze/archive-iter.h
===================================================================
--- squeeze/trunk/libsqueeze/archive-iter.h 2008-01-05 23:49:49 UTC (rev
26545)
+++ squeeze/trunk/libsqueeze/archive-iter.h 2008-01-05 23:58:09 UTC (rev
26546)
@@ -47,6 +47,8 @@
LSQArchiveIter *lsq_archive_add_file(LSQArchive *archive, const gchar *path);
+void lsq_archive_iter_set_propsv(LSQArchiveIter *iter, gpointer *props);
+
G_END_DECLS
#endif /* __LIBSQUEEZE_ARCHIVE_ITER_H__ */
Modified: squeeze/trunk/libsqueeze/archive.c
===================================================================
--- squeeze/trunk/libsqueeze/archive.c 2008-01-05 23:49:49 UTC (rev 26545)
+++ squeeze/trunk/libsqueeze/archive.c 2008-01-05 23:58:09 UTC (rev 26546)
@@ -180,9 +180,22 @@
}
}
#ifdef DEBUG
- g_debug("%s\n",
thunar_vfs_mime_info_get_name(archive->priv->mime_info));
+ g_debug("mime: %s\n",
thunar_vfs_mime_info_get_name(archive->priv->mime_info));
#endif
+ GSList *iter;
+ for(iter = lsq_mime_support_list; iter; iter = iter->next)
+ {
+ if(((LSQSupportTemplate*)iter->data)->mime_info ==
archive->priv->mime_info)
+ {
+#ifdef DEBUG
+ g_debug("found template");
+#endif
+ archive->priv->s_template = iter->data;
+ break;
+ }
+ }
+
return archive;
}
Modified: squeeze/trunk/libsqueeze/scanf-parser.c
===================================================================
--- squeeze/trunk/libsqueeze/scanf-parser.c 2008-01-05 23:49:49 UTC (rev
26545)
+++ squeeze/trunk/libsqueeze/scanf-parser.c 2008-01-05 23:58:09 UTC (rev
26546)
@@ -109,8 +109,6 @@
static void lsq_scanf_parser_parse(LSQScanfParser *, LSQScanfParserContext *);
-static LSQParserContext *lsq_scanf_parser_get_context(LSQScanfParser *,
LSQArchive *);
-
G_DEFINE_TYPE(LSQScanfParser, lsq_scanf_parser, LSQ_TYPE_PARSER);
static void
Modified: squeeze/trunk/libsqueeze/support-factory.c
===================================================================
--- squeeze/trunk/libsqueeze/support-factory.c 2008-01-05 23:49:49 UTC (rev
26545)
+++ squeeze/trunk/libsqueeze/support-factory.c 2008-01-05 23:58:09 UTC (rev
26546)
@@ -113,7 +113,7 @@
static gint
lsq_lookup_mime_support(gconstpointer a, gconstpointer b)
{
- return 0;
+ return 1;
}
void
Modified: squeeze/trunk/libsqueeze/support-template.c
===================================================================
--- squeeze/trunk/libsqueeze/support-template.c 2008-01-05 23:49:49 UTC (rev
26545)
+++ squeeze/trunk/libsqueeze/support-template.c 2008-01-05 23:58:09 UTC (rev
26546)
@@ -20,26 +20,31 @@
#include <glib/gstdio.h>
#include <glib-object.h>
#include <thunar-vfs/thunar-vfs.h>
-
+#include "libsqueeze.h"
+#include "parser-context.h"
+#include "parser.h"
#include "support-template.h"
GType
lsq_support_template_get_property_type(LSQSupportTemplate *templ, guint nr)
{
g_return_val_if_fail(templ->parser, G_TYPE_NONE);
- return lsq_parser_get_property_type(templ->parser);
+ return lsq_parser_get_property_type(templ->parser, nr);
}
const gchar *
lsq_support_template_get_property_name(LSQSupportTemplate *templ, guint nr)
{
- g_return_val_if_fail(nr >= templ->n_properties, NULL);
+ g_return_val_if_fail(nr < templ->n_properties, NULL);
return templ->property_names[nr];
}
guint
lsq_support_template_get_n_properties (LSQSupportTemplate *templ)
{
+#ifdef DEBUG
+ g_return_val_if_fail(templ, 0);
+#endif
guint n_props = lsq_parser_n_properties(templ->parser);
if(templ->n_properties > n_props)
n_props = templ->n_properties;
Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c 2008-01-05 23:49:49 UTC (rev 26545)
+++ squeeze/trunk/src/main_window.c 2008-01-05 23:58:09 UTC (rev 26546)
@@ -980,10 +980,10 @@
static void
cb_sq_main_refresh_archive(GtkWidget *widget, gpointer userdata)
{
- //SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
- //SQArchiveStore *store =
sq_notebook_get_active_store(SQ_NOTEBOOK(window->notebook));
- //LSQArchive *archive = sq_archive_store_get_archive(store);
- //lsq_archive_full_refresh(archive);
+ SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
+ SQArchiveStore *store =
sq_notebook_get_active_store(SQ_NOTEBOOK(window->notebook));
+ LSQArchive *archive = sq_archive_store_get_archive(store);
+ lsq_archive_operate(archive, LSQ_COMMAND_TYPE_REFRESH);
}
static void
Modified: squeeze/trunk/src/notebook.c
===================================================================
--- squeeze/trunk/src/notebook.c 2008-01-05 23:49:49 UTC (rev 26545)
+++ squeeze/trunk/src/notebook.c 2008-01-05 23:58:09 UTC (rev 26546)
@@ -555,6 +555,9 @@
gtk_tree_view_set_model(GTK_TREE_VIEW(tree_view), tree_model);
gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree_view),
notebook->props._rules_hint);
+ //FIXME: for now it's here, should it be?
+ sq_notebook_treeview_reset_columns(archive, GTK_TREE_VIEW(tree_view));
+
if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)))
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), TRUE);
else
@@ -706,11 +709,24 @@
{
switch(lsq_archive_get_entry_property_type(archive, x))
{
+ case(G_TYPE_CHAR):
+ case(G_TYPE_DOUBLE):
+ case(G_TYPE_FLOAT):
+ case(G_TYPE_INT):
+ case(G_TYPE_INT64):
+ case(G_TYPE_LONG):
case(G_TYPE_STRING):
+ case(G_TYPE_UINT):
case(G_TYPE_UINT64):
+ case(G_TYPE_ULONG):
renderer = gtk_cell_renderer_text_new();
column =
gtk_tree_view_column_new_with_attributes(lsq_archive_get_entry_property_name(archive,
x), renderer, "text", x+SQ_ARCHIVE_STORE_EXTRA_PROP_COUNT, NULL);
break;
+ default:
+#ifdef DEBUG
+ g_debug("Should not be reached");
+#endif
+ continue;
}
gtk_tree_view_column_set_resizable(column, TRUE);
gtk_tree_view_column_set_sort_column_id(column,
x+SQ_ARCHIVE_STORE_EXTRA_PROP_COUNT);
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits