]>
Dogcows Code - chaz/tint2/blob - src/tint2conf/theme_view.c
a61be0b0320428a112801defa712d713002542a9
2 #include "theme_view.h"
4 // The data columns that we export via the tree model interface
6 int g_width_list
, g_height_list
;
7 GtkCellRenderer
*g_renderer
;
11 GtkWidget
*create_view()
13 GtkTreeViewColumn
*col
;
14 GtkCellRenderer
*renderer
;
17 g_store
= gtk_list_store_new(NB_COL
, G_TYPE_STRING
, GDK_TYPE_PIXBUF
);
19 view
= gtk_tree_view_new_with_model(GTK_TREE_MODEL(g_store
));
20 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view
), TRUE
);
21 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view
), FALSE
);
23 g_object_unref(g_store
); // destroy store automatically with view
25 renderer
= gtk_cell_renderer_text_new();
26 col
= gtk_tree_view_column_new();
27 gtk_tree_view_column_pack_start(col
, renderer
, TRUE
);
28 gtk_tree_view_column_add_attribute(col
, renderer
, "text", COL_THEME_FILE
);
29 gtk_tree_view_column_set_visible(col
, FALSE
);
30 gtk_tree_view_append_column(GTK_TREE_VIEW(view
),col
);
34 g_renderer
= gtk_cell_renderer_pixbuf_new();
35 g_object_set(g_renderer
, "xalign", 0.0, NULL
);
36 gtk_cell_renderer_set_fixed_size(g_renderer
, g_width_list
, g_height_list
);
37 // specific to gtk-2.18 or higher
38 //gtk_cell_renderer_set_padding(g_renderer, 5, 5);
39 col
= gtk_tree_view_column_new();
40 gtk_tree_view_column_pack_start(col
, g_renderer
, TRUE
);
41 gtk_tree_view_column_add_attribute(col
, g_renderer
, "pixbuf", COL_SNAPSHOT
);
42 gtk_tree_view_append_column(GTK_TREE_VIEW(view
),col
);
44 //g_timeout_add(50, (GSourceFunc) increase_timeout, NULL);
50 void custom_list_append(const gchar
*name
)
54 gint pixWidth
, pixHeight
;
55 gboolean changeSize
= FALSE
;
58 // build panel's snapshot
59 snap
= g_build_filename (g_get_user_config_dir(), "tint2", "snap.jpg", NULL
);
62 cmd
= g_strdup_printf("tint2 -c %s -s %s", name
, snap
);
67 icon
= gdk_pixbuf_new_from_file(snap
, NULL
);
72 pixWidth
= gdk_pixbuf_get_width(icon
);
73 pixHeight
= gdk_pixbuf_get_height(icon
);
74 if (g_width_list
< pixWidth
) {
75 g_width_list
= pixWidth
;
78 if (g_height_list
< (pixHeight
+6)) {
79 g_height_list
= pixHeight
+6;
83 gtk_cell_renderer_set_fixed_size(g_renderer
, g_width_list
, g_height_list
);
85 gtk_list_store_append(g_store
, &iter
);
86 gtk_list_store_set(g_store
, &iter
, COL_THEME_FILE
, name
, COL_SNAPSHOT
, icon
, -1);
90 gboolean increase_timeout (GtkCellRenderer *renderer)
96 gtk_tree_model_get_iter_first(GTK_TREE_MODEL(g_store), &iter);
98 gtk_tree_model_get (GTK_TREE_MODEL(g_store), &iter, COL_SNAPSHOT, &perc, -1);
100 if ( perc > (1.0-STEP) || (perc < STEP && perc > 0.0) )
102 increasing = (!increasing);
110 //g_snprintf(buf, sizeof(buf), "%u %%", (guint)(perc*100));
112 gtk_list_store_set (g_store, &iter, COL_SNAPSHOT, perc, -1);
This page took 0.036511 seconds and 3 git commands to generate.