Author: colossus
Date: 2007-10-19 05:23:00 +0000 (Fri, 19 Oct 2007)
New Revision: 26146
Modified:
xarchiver/trunk/src/archive.c
Log:
Fixed display of current path in location bar.
Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c 2007-10-18 09:47:52 UTC (rev 26145)
+++ xarchiver/trunk/src/archive.c 2007-10-19 05:23:00 UTC (rev 26146)
@@ -466,57 +466,60 @@
gpointer current_column;
if (entry == NULL)
+ {
entry = archive->root_entry->child;
+ gtk_entry_set_text(GTK_ENTRY(location_entry),"\0");
+ }
else if (entry->child == NULL)
return;
else
+ {
+ archive->location_entry_path =
g_strconcat(gtk_entry_get_text(GTK_ENTRY(location_entry)),"/",entry->filename,NULL);
+
gtk_entry_set_text(GTK_ENTRY(location_entry),archive->location_entry_path);
+ g_free(archive->location_entry_path);
entry = entry->child;
-
- gtk_list_store_clear(archive->liststore);
- while (entry)
+ }
+ gtk_list_store_clear(archive->liststore);
+ while (entry)
+ {
+ current_column = entry->columns;
+ gtk_list_store_append (archive->liststore, &iter);
+
+ if(!g_utf8_validate(entry->filename, -1, NULL) )
{
- current_column = entry->columns;
- gtk_list_store_append (archive->liststore, &iter);
+ gchar *dummy = g_convert(entry->filename, -1, "UTF-8",
"WINDOWS-1252", NULL, NULL, NULL);
+ g_free (entry->filename);
+ entry->filename = dummy;
+ }
+ if (entry->is_dir)
+ pixbuf = xa_get_pixbuf_icon_from_cache("folder");
+ else if (entry->is_encrypted)
+ pixbuf = xa_get_pixbuf_icon_from_cache("lock");
+ else
+ pixbuf = xa_get_pixbuf_icon_from_cache(entry->filename);
- if(!g_utf8_validate(entry->filename, -1, NULL) )
- {
- gchar *dummy = g_convert(entry->filename, -1,
"UTF-8", "WINDOWS-1252", NULL, NULL, NULL);
- g_free (entry->filename);
- entry->filename = dummy;
- }
- if (entry->is_dir)
- pixbuf =
xa_get_pixbuf_icon_from_cache("folder");
- else if (entry->is_encrypted)
- pixbuf = xa_get_pixbuf_icon_from_cache("lock");
- else
- pixbuf =
xa_get_pixbuf_icon_from_cache(entry->filename);
+ gtk_list_store_set (archive->liststore,&iter,archive->nc+1,
entry,-1);
+ gtk_list_store_set
(archive->liststore,&iter,0,pixbuf,1,entry->filename,-1);
- gtk_list_store_set
(archive->liststore,&iter,archive->nc+1, entry,-1);
- gtk_list_store_set
(archive->liststore,&iter,0,pixbuf,1,entry->filename,-1);
-
- for (i = 0; i < archive->nc; i++)
+ for (i = 0; i < archive->nc; i++)
+ {
+ switch(archive->column_types[i+2])
{
- switch(archive->column_types[i+2])
- {
- case G_TYPE_STRING:
- //g_message ("%d -
%s",i,(*((gchar **)current_column)));
- gtk_list_store_set
(archive->liststore,&iter,i+2,(*((gchar **)current_column)),-1);
- current_column += sizeof(gchar
*);
- break;
+ case G_TYPE_STRING:
+ //g_message ("%d - %s",i,(*((gchar
**)current_column)));
+ gtk_list_store_set
(archive->liststore,&iter,i+2,(*((gchar **)current_column)),-1);
+ current_column += sizeof(gchar *);
+ break;
- case G_TYPE_UINT64:
- //g_message ("*%d -
%lu",i,(*((guint64 *)current_column)));
- gtk_list_store_set
(archive->liststore,&iter,i+2,(*((guint64 *)current_column)),-1);
- current_column +=
sizeof(guint64);
- break;
- }
+ case G_TYPE_UINT64:
+ //g_message ("*%d - %lu",i,(*((guint64
*)current_column)));
+ gtk_list_store_set
(archive->liststore,&iter,i+2,(*((guint64 *)current_column)),-1);
+ current_column += sizeof(guint64);
+ break;
}
- entry = entry->next;
}
- /*gtk_widget_set_sensitive(up_button,FALSE);
- gtk_widget_set_sensitive(home_button,FALSE);
- gtk_entry_set_text(GTK_ENTRY(location_entry),"");
- return;*/
+ entry = entry->next;
+ }
}
void xa_entries_to_filelist(XEntry *entry,GSList **p_file_list,gchar
*current_path)
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits