[Xfce4-commits] r25945 - xarchiver/trunk/src

Giuseppe Torelli colossus at xfce.org
Tue Jul 31 23:07:22 CEST 2007


Author: colossus
Date: 2007-07-31 21:07:21 +0000 (Tue, 31 Jul 2007)
New Revision: 25945

Modified:
   xarchiver/trunk/src/archive.c
   xarchiver/trunk/src/archive.h
   xarchiver/trunk/src/mime.c
   xarchiver/trunk/src/window.c
   xarchiver/trunk/src/zip.c
Log:
Playing with mime type and icon names.


Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c	2007-07-31 16:00:00 UTC (rev 25944)
+++ xarchiver/trunk/src/archive.c	2007-07-31 21:07:21 UTC (rev 25945)
@@ -20,6 +20,7 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include "archive.h"
+#include "mime.h"
 #include "support.h"
 #include "window.h"
 
@@ -471,8 +472,7 @@
 				g_free (entry->filename);
 				entry->filename = dummy;
 			}
-			else
-				gtk_list_store_set (archive->liststore,&iter,0,GTK_STOCK_DIRECTORY,1,entry->filename,-1);
+			gtk_list_store_set (archive->liststore,&iter,0,xa_get_stock_mime_icon(entry->filename),1,entry->filename,-1);
 
 			for (i = 0; i < archive->nc; i++)
 			{
@@ -544,8 +544,8 @@
 
 		current_column = entry->columns;
 		gtk_list_store_append (archive->liststore, &iter);
-		
-		gtk_list_store_set (archive->liststore,&iter,0,GTK_STOCK_DIRECTORY,1,entry->filename,-1);
+		GdkPixbuf *pixbuf = xa_get_stock_mime_icon(entry->filename);
+		gtk_list_store_set (archive->liststore,&iter,0,pixbuf,1,entry->filename,-1);
 
 		for (i = 0; i < archive->nc; i++)
 		{

Modified: xarchiver/trunk/src/archive.h
===================================================================
--- xarchiver/trunk/src/archive.h	2007-07-31 16:00:00 UTC (rev 25944)
+++ xarchiver/trunk/src/archive.h	2007-07-31 21:07:21 UTC (rev 25945)
@@ -122,7 +122,6 @@
 gboolean xa_dump_child_error_messages (GIOChannel *ioc, GIOCondition cond, gpointer data);
 gint xa_find_archive_index (gint page_num);
 gint xa_get_new_archive_idx();
-//gint xa_read_line (XArchive *archive, FILE *stream, gchar **return_string);
 XEntry *xa_alloc_memory_for_each_row ( guint nc,GType column_types[]);
 void xa_free_entry (XArchive *archive,XEntry *entry);
 XEntry *xa_find_archive_entry(XEntry *entry, gchar *string);

Modified: xarchiver/trunk/src/mime.c
===================================================================
--- xarchiver/trunk/src/mime.c	2007-07-31 16:00:00 UTC (rev 25944)
+++ xarchiver/trunk/src/mime.c	2007-07-31 21:07:21 UTC (rev 25945)
@@ -26,9 +26,18 @@
 {
 	const char *mime;
 	GdkPixbuf *pixbuf = NULL;
+	const char *icon_name = "GTK_STOCK_FILE";
 
 	mime = xdg_mime_get_mime_type_from_file_name(filename);
-	pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),mime, GTK_ICON_SIZE_SMALL_TOOLBAR, 0, NULL);
+	g_print ("%s\n",mime);
+	if (strncmp(mime,"image/",6) == 0)
+		icon_name = "image";
+	else if (strcmp(mime,"text/html") == 0)
+		icon_name = "html";
+	else if (strcmp(mime,"application/octet-stream") == 0)
+		icon_name = "folder";
+	
+	pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default(),icon_name, GTK_ICON_SIZE_SMALL_TOOLBAR, 0, NULL);
 	return pixbuf;
 }
 

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c	2007-07-31 16:00:00 UTC (rev 25944)
+++ xarchiver/trunk/src/window.c	2007-07-31 21:07:21 UTC (rev 25945)
@@ -474,13 +474,13 @@
 		xa_disable_delete_view_buttons (FALSE);
 		xa_set_button_state (1,1,0,0,0,0,0,0);
 		xa_set_window_title (MainWindow,NULL);
+		gtk_entry_set_text(GTK_ENTRY(location_entry),"");
 	}
 	else if ( current_page == 1)
 		gtk_notebook_set_show_tabs (notebook,FALSE);
 	else
 		gtk_notebook_set_show_tabs (notebook,TRUE);
 
-	gtk_entry_set_text(GTK_ENTRY(location_entry),"");
 	xa_clean_archive_structure (archive[idx]);
 	archive[idx] = NULL;
 
@@ -1164,7 +1164,6 @@
 	/* First column: icon + text */
 	column = gtk_tree_view_column_new();
 	renderer = gtk_cell_renderer_pixbuf_new();
-	g_object_set(G_OBJECT(renderer), "stock-size", GTK_ICON_SIZE_SMALL_TOOLBAR, NULL);
 	gtk_tree_view_column_pack_start(column, renderer, FALSE);
 	gtk_tree_view_column_set_attributes(column, renderer, "pixbuf",0,NULL);
 
@@ -1175,6 +1174,7 @@
 	gtk_tree_view_column_set_resizable (column, TRUE);
 	gtk_tree_view_column_set_sort_column_id (column, 1);
 	gtk_tree_view_append_column (GTK_TREE_VIEW (archive->treeview), column);
+	gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
 
 	/* All the others */
 	for (x = 0; x < archive->nc; x++)

Modified: xarchiver/trunk/src/zip.c
===================================================================
--- xarchiver/trunk/src/zip.c	2007-07-31 16:00:00 UTC (rev 25944)
+++ xarchiver/trunk/src/zip.c	2007-07-31 21:07:21 UTC (rev 25945)
@@ -43,7 +43,7 @@
 	if (archive->child_pid == 0)
 		return;
 
-	GType types[] = {G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_UINT64,G_TYPE_UINT64,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING};
+	GType types[] = {GDK_TYPE_PIXBUF,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_UINT64,G_TYPE_UINT64,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING};
 	archive->column_types = g_malloc0(sizeof(types));
 	for (i = 0; i < 10; i++)
 		archive->column_types[i] = types[i];
@@ -170,7 +170,6 @@
 	line[linesize-1] = '\0';
 	filename = line + n;
 	//item[0] = GTK_STOCK_DIRECTORY;//xa_get_mime_icon (line+a);
-	xa_get_stock_mime_icon(filename);
 	archive->entry = xa_set_archive_entries_for_each_row (archive,filename,item);
 	if (archive->entry != NULL)
 	{



More information about the Xfce4-commits mailing list