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

Reply via email to