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)
        {

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to