[Xfce4-commits] r23150 - in xarchiver/branches/xarchiver-psybsd: libxarchiver src
Stephan Arts
stephan at xfce.org
Wed Sep 13 22:34:06 UTC 2006
Author: stephan
Date: 2006-09-13 22:34:05 +0000 (Wed, 13 Sep 2006)
New Revision: 23150
Modified:
xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c
xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.h
xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c
xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.h
xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c
xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.h
xarchiver/branches/xarchiver-psybsd/src/main_window.c
xarchiver/branches/xarchiver-psybsd/src/main_window.h
Log:
It now shows the root-children in treeview.
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c 2006-09-13 22:34:05 UTC (rev 23150)
@@ -111,7 +111,6 @@
archive_support->extract = lxa_archive_support_gnu_tar_extract;
archive_support->remove = lxa_archive_support_gnu_tar_remove;
archive_support->refresh = lxa_archive_support_gnu_tar_refresh;
- archive_support->view = lxa_archive_support_gnu_tar_view;
}
void
@@ -320,12 +319,6 @@
return 0;
}
-GSList *
-lxa_archive_support_gnu_tar_view(LXAArchive *archive, gchar *path)
-{
-
-}
-
gint
lxa_archive_support_gnu_tar_refresh(LXAArchive *archive)
{
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.h 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.h 2006-09-13 22:34:05 UTC (rev 23150)
@@ -66,7 +66,7 @@
gint lxa_archive_support_gnu_tar_extract(LXAArchive *, gchar *, GSList *);
gint lxa_archive_support_gnu_tar_remove(LXAArchive *, GSList *);
gint lxa_archive_support_gnu_tar_refresh(LXAArchive *);
-GSList *lxa_archive_support_gnu_tar_view(LXAArchive *, gchar *);
+
G_END_DECLS
#endif /* __LIBXARCHIVER_ARCHIVE_SUPPORT_GNU_TAR_H__ */
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c 2006-09-13 22:34:05 UTC (rev 23150)
@@ -233,20 +233,6 @@
}
GSList *
-lxa_archive_support_view(LXAArchiveSupport *support, LXAArchive *archive, gchar *path)
-{
- if(support->view)
- {
- lxa_archive_set_status(archive, LXA_ARCHIVESTATUS_VIEW);
- archive->support = support;
- return support->view(archive, path);
- }
- else
- g_critical("VIEW NOT IMPLEMENTED BY SUPPORT OBJECT '%s'", support->id);
- return NULL;
-}
-
-GSList *
lxa_archive_support_list_properties(LXAArchiveSupport *support, gchar *prefix)
{
guint _nprops, i;
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.h 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.h 2006-09-13 22:34:05 UTC (rev 23150)
@@ -61,7 +61,6 @@
gint (*extract)(LXAArchive *archive, gchar *dest_path, GSList *files);
gint (*remove)(LXAArchive *archive, GSList *files);
gint (*refresh)(LXAArchive *archive);
- GSList *(*view)(LXAArchive *archive, gchar *path);
};
typedef struct _LXAArchiveSupportClass LXAArchiveSupportClass;
@@ -87,7 +86,6 @@
gint lxa_archive_support_extract(LXAArchiveSupport *, LXAArchive *, gchar *, GSList *);
gint lxa_archive_support_remove(LXAArchiveSupport *, LXAArchive *, GSList *);
gint lxa_archive_support_refresh(LXAArchiveSupport *, LXAArchive *);
-GSList *lxa_archive_support_view(LXAArchiveSupport *, LXAArchive *, gchar *);
GSList * lxa_archive_support_list_properties(LXAArchiveSupport *, gchar *);
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c 2006-09-13 22:34:05 UTC (rev 23150)
@@ -80,10 +80,9 @@
0,
NULL,
NULL,
- g_cclosure_marshal_VOID__POINTER,
+ g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
- 1,
- G_TYPE_POINTER,
+ 0,
NULL);
}
@@ -142,7 +141,7 @@
gint
lxa_archive_lookup_dir(gpointer entry, gconstpointer filename)
{
- return strcmp(((LXAEntry *)entry)->filename, filename);
+ return strcmp(g_value_get_string(((LXAEntry *)entry)->filename), filename);
}
/*
@@ -164,7 +163,9 @@
if(!tmp_list)
{
tmp_entry = g_new0(LXAEntry, 1);
- tmp_entry->filename = g_strdup(path_items[0]);
+ tmp_entry->filename = g_new0(GValue, 1);
+ tmp_entry->filename = g_value_init(tmp_entry->filename, G_TYPE_STRING);
+ g_value_set_string(tmp_entry->filename, path_items[0]);
archive->root_entries = g_slist_prepend(archive->root_entries, tmp_entry);
tmp_list = archive->root_entries;
}
@@ -174,7 +175,9 @@
if(!tmp_list_children)
{
tmp_entry = g_new0(LXAEntry, 1);
- tmp_entry->filename = g_strdup(path_items[i]);
+ tmp_entry->filename = g_new0(GValue, 1);
+ tmp_entry->filename = g_value_init(tmp_entry->filename, G_TYPE_STRING);
+ g_value_set_string(tmp_entry->filename, path_items[i]);
((LXAEntry *)tmp_list->data)->children = g_slist_prepend(((LXAEntry *)tmp_list->data)->children, tmp_entry);
tmp_list_children = ((LXAEntry *)tmp_list->data)->children;
}
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.h 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.h 2006-09-13 22:34:05 UTC (rev 23150)
@@ -33,7 +33,7 @@
} LXAArchiveStatus;
typedef struct {
- gchar *filename;
+ GValue *filename;
GSList *children;
} LXAEntry;
Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-09-13 22:34:05 UTC (rev 23150)
@@ -36,9 +36,9 @@
{
static GType xa_main_window_type = 0;
- if (!xa_main_window_type)
+ if (!xa_main_window_type)
{
- static const GTypeInfo xa_main_window_info =
+ static const GTypeInfo xa_main_window_info =
{
sizeof (XAMainWindowClass),
(GBaseInitFunc) NULL,
@@ -283,7 +283,7 @@
XAMainWindow *parent_window = XA_MAIN_WINDOW(userdata);
dialog = gtk_file_chooser_dialog_new(_("Open archive"),
- GTK_WINDOW(parent_window),
+ GTK_WINDOW(parent_window),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL);
@@ -322,13 +322,13 @@
*
*/
void
-xa_main_window_archive_status_changed(LXAArchive *archive, gpointer data)
+xa_main_window_archive_status_changed(LXAArchive *archive, gpointer userdata)
{
- XAMainWindow *main_window = data;
+ XAMainWindow *main_window = XA_MAIN_WINDOW(userdata);
if(archive->old_status == LXA_ARCHIVESTATUS_REFRESH)
{
LXAArchiveSupport *lpSupport = lxa_get_support_for_mime(archive->mime);
- GSList *items = lxa_archive_support_view(lpSupport, archive, "/");
+ GSList *items = lxa_archive_get_children(archive, "/");
xa_main_window_set_contents(main_window, archive, items, "/");
}
}
@@ -343,10 +343,13 @@
xa_main_window_set_contents(XAMainWindow *main_window, LXAArchive *archive, GSList *items, gchar *path)
{
gint x;
+ GtkTreeIter iter;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
GtkListStore *liststore = gtk_list_store_newv(archive->column_number, archive->column_types);
+ main_window->working_dir = path;
+
for(x = 0; x < archive->column_number; x++)
{
switch(archive->column_types[x])
@@ -360,6 +363,11 @@
gtk_tree_view_column_set_sort_column_id(column, x);
gtk_tree_view_append_column(GTK_TREE_VIEW(main_window->treeview), column);
}
-
+ while(items)
+ {
+ gtk_list_store_append(liststore, &iter);
+ gtk_list_store_set_value(liststore, &iter, 0, ((LXAEntry *)items->data)->filename);
+ items = items->next;
+ }
gtk_tree_view_set_model(GTK_TREE_VIEW(main_window->treeview), GTK_TREE_MODEL(liststore));
}
Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.h 2006-09-13 21:40:25 UTC (rev 23149)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.h 2006-09-13 22:34:05 UTC (rev 23150)
@@ -88,6 +88,7 @@
GtkToolItem *tool_item_extract;
GtkToolItem *tool_item_remove;
} toolbar;
+ gchar *working_dir;
};
typedef struct _XAMainWindowClass XAMainWindowClass;
@@ -104,7 +105,7 @@
void cb_xa_main_open_archive(GtkWidget *widget, gpointer userdata);
void cb_xa_main_extract_archive(GtkWidget *widget, gpointer userdata);
-void xa_main_window_archive_status_changed(LXAArchive *archive, gpointer data);
+void xa_main_window_archive_status_changed(LXAArchive *archive, gpointer userdata);
void xa_main_window_set_contents(XAMainWindow *, LXAArchive *, GSList *, gchar *);
G_END_DECLS
More information about the Xfce4-commits
mailing list