]> Dogcows Code - chaz/tint2/blobdiff - src/tint2conf/theme_view.c
start tint2conf work
[chaz/tint2] / src / tint2conf / theme_view.c
index b6715c203716fed95a6d8e42eda5cdd67c3ef1dc..05fad6be4588d2950e00abcb18f033ec51910052 100644 (file)
@@ -1,8 +1,24 @@
-
-#include <stdlib.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-
+/**************************************************************************
+*
+* Tint2conf
+*
+* Copyright (C) 2009 Thierry lorthiois (lorthiois@bbsoft.fr) from Omega distribution
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License version 2
+* as published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+**************************************************************************/
+
+
+#include "main.h"
 #include "theme_view.h"
 
 // The data columns that we export via the tree model interface
@@ -15,11 +31,11 @@ GtkCellRenderer *g_renderer;
 
 GtkWidget *create_view()
 {
-       GtkTreeViewColumn   *col;
-       GtkCellRenderer     *renderer;
-       GtkWidget           *view;
+       GtkTreeViewColumn *col;
+       GtkCellRenderer *renderer;
+       GtkWidget  *view;
 
-       g_store = gtk_list_store_new(NB_COL, G_TYPE_STRING, GDK_TYPE_PIXBUF);
+       g_store = gtk_list_store_new(NB_COL, G_TYPE_STRING, G_TYPE_STRING, GDK_TYPE_PIXBUF);
 
        view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(g_store));
        gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view), TRUE);
@@ -34,6 +50,12 @@ GtkWidget *create_view()
        gtk_tree_view_column_set_visible(col, FALSE);
        gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);
 
+       renderer = gtk_cell_renderer_text_new();
+       col = gtk_tree_view_column_new();
+       gtk_tree_view_column_pack_start(col, renderer, TRUE);
+       gtk_tree_view_column_add_attribute(col, renderer, "text", COL_THEME_NAME);
+       gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);
+
        g_width_list = 200;
        g_height_list = 30;
        g_renderer = gtk_cell_renderer_pixbuf_new();
@@ -46,6 +68,9 @@ GtkWidget *create_view()
        gtk_tree_view_column_add_attribute(col, g_renderer, "pixbuf", COL_SNAPSHOT);
        gtk_tree_view_append_column(GTK_TREE_VIEW(view),col);
 
+       GtkTreeSortable *sortable;
+       sortable = GTK_TREE_SORTABLE(g_store);
+       gtk_tree_sortable_set_sort_column_id(sortable, COL_THEME_FILE, GTK_SORT_ASCENDING);
        return view;
 }
 
@@ -56,6 +81,13 @@ void custom_list_append(const gchar *name)
 
        gtk_list_store_append(g_store, &iter);
        gtk_list_store_set(g_store, &iter, COL_THEME_FILE, name, -1);
+
+       gchar *b, *n;
+       b = strrchr(name, '/');
+       n = g_strdup(b+1);
+       b = strrchr(n, '.');
+       *b = '\0';
+       gtk_list_store_set(g_store, &iter, COL_THEME_NAME, n, -1);
 }
 
 
@@ -106,12 +138,12 @@ gboolean update_snapshot()
 
                pixWidth = gdk_pixbuf_get_width(pixbuf);
                pixHeight = gdk_pixbuf_get_height(pixbuf);
-               if (g_width_list < pixWidth) {
+               if (g_width_list != pixWidth) {
                        g_width_list = pixWidth;
                        changeSize = TRUE;
                }
-               if (g_height_list < (pixHeight+6)) {
-                       g_height_list = pixHeight+6;
+               if (g_height_list != (pixHeight+30)) {
+                       g_height_list = pixHeight+30;
                        changeSize = TRUE;
                }
                if (changeSize)
This page took 0.02995 seconds and 4 git commands to generate.