66 |
|
|
67 |
enum |
enum |
68 |
{ |
{ |
69 |
|
GTKTALOG_ICON=0, |
70 |
GTKTALOG_FILENAME, |
GTKTALOG_FILENAME, |
71 |
GTKTALOG_SIZE, |
GTKTALOG_SIZE, |
72 |
GTKTALOG_DATE, |
GTKTALOG_DATE, |
87 |
gtk_container_add (GTK_CONTAINER (ctree_window), ctree); |
gtk_container_add (GTK_CONTAINER (ctree_window), ctree); |
88 |
} |
} |
89 |
|
|
90 |
|
|
91 |
|
GtkTreeModel * |
92 |
|
create_model(void) |
93 |
|
{ |
94 |
|
// function needed to make icon support painless |
95 |
|
// shouts go to German Poo for the help :-) |
96 |
|
|
97 |
|
GtkListStore * store; |
98 |
|
GtkTreeIter iter; |
99 |
|
|
100 |
|
// ToDo : this needs a really big move from Gdkwhatever to GdkPixbuf |
101 |
|
// GdkPixbuf * myicon; |
102 |
|
|
103 |
|
store = gtk_list_store_new(7, GDK_TYPE_PIXBUF, G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING, G_TYPE_STRING); |
104 |
|
return GTK_TREE_MODEL(store); |
105 |
|
|
106 |
|
} |
107 |
|
|
108 |
void |
void |
109 |
clear_right_list(GtkWidget * treeview) |
clear_right_list(GtkWidget * treeview) |
110 |
{ |
{ |
117 |
|
|
118 |
void add_right_list(GtkWidget * treeview, gchar ** item, char * name) |
void add_right_list(GtkWidget * treeview, gchar ** item, char * name) |
119 |
{ |
{ |
120 |
GtkTreeView * tree = GTK_TREE_VIEW(treeview); |
GtkTreeView * tree = GTK_TREE_VIEW(treeview); |
121 |
GtkTreeModel * model = gtk_tree_view_get_model(tree); |
GtkTreeModel * model = gtk_tree_view_get_model(tree); |
122 |
GtkTreeIter iter; |
GtkTreeIter iter; |
123 |
gtk_list_store_append(GTK_LIST_STORE(model), &iter); |
/* tricky bit, needs to convert the pics to this format */ |
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,0, name,1,item[1],2, item[2], 3, item[3], 4, item[4], 5, item[5],-1); |
|
124 |
|
|
125 |
gtk_tree_view_columns_autosize(tree); |
GdkPixbuf * pixbuf = NULL; |
126 |
|
|
127 |
|
/* finally, the trick goes here */ |
128 |
|
|
129 |
|
gtk_list_store_append(GTK_LIST_STORE(model), &iter); |
130 |
|
|
131 |
/* |
// gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_ICON,icon, -1); |
132 |
* TODO : adding icon support |
gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_FILENAME, name,-1); |
133 |
*/ |
gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_SIZE,item[1],-1); |
134 |
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_DATE,item[2],-1); |
135 |
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_CATEGORY,item[3],-1); |
136 |
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_DESCRIPTION,item[4],-1); |
137 |
|
gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTKTALOG_INFORMATION,item[5],-1); |
138 |
|
|
139 |
|
gtk_tree_view_columns_autosize(tree); |
140 |
|
|
141 |
|
|
142 |
} |
} |
143 |
|
|
144 |
void |
void |
1161 |
} |
} |
1162 |
} |
} |
1163 |
|
|
1164 |
void add_columns(GtkTreeView * treeview) |
GtkWidget * |
1165 |
|
create_list () |
1166 |
{ |
{ |
|
GtkCellRenderer *renderer; |
|
|
GtkTreeViewColumn *column; |
|
|
GtkTreeModel *model = gtk_tree_view_get_model (treeview); |
|
1167 |
|
|
1168 |
|
GtkWidget * treeview; |
1169 |
|
GtkTreeViewColumn * column; |
1170 |
|
GtkTreeModel * model; |
1171 |
|
GtkCellRenderer * renderer; |
1172 |
|
|
1173 |
gchar *titles[6] = { _("Filename"), _("Size"), _("Date"), _("Category"), |
gchar *titles[6] = { _("Filename"), _("Size"), _("Date"), _("Category"), |
1174 |
_("Description"), _("Information") |
_("Description"), _("Information") }; |
|
}; |
|
1175 |
|
|
1176 |
renderer = gtk_cell_renderer_text_new (); |
model = create_model(); |
|
column = gtk_tree_view_column_new_with_attributes (titles[0], |
|
|
renderer, |
|
|
"text", |
|
|
GTKTALOG_FILENAME, |
|
|
NULL); |
|
1177 |
|
|
1178 |
// gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 380); |
treeview = gtk_tree_view_new(); |
1179 |
|
gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), model); |
1180 |
|
g_object_unref(model); |
1181 |
|
|
1182 |
|
/* pixbuf + text column */ |
1183 |
|
|
1184 |
|
column = gtk_tree_view_column_new (); |
1185 |
|
gtk_tree_view_column_set_title (column,titles[0]); |
1186 |
|
renderer = gtk_cell_renderer_pixbuf_new (); |
1187 |
|
gtk_tree_view_column_pack_start (column, renderer, FALSE); |
1188 |
|
gtk_tree_view_column_set_attributes (column, renderer, "pixbuf",GTKTALOG_ICON, NULL); |
1189 |
|
renderer = gtk_cell_renderer_text_new (); |
1190 |
|
gtk_tree_view_column_pack_start (column, renderer, TRUE); |
1191 |
|
gtk_tree_view_column_set_attributes (column, renderer, "text", GTKTALOG_FILENAME, NULL); |
1192 |
gtk_tree_view_column_set_resizable(column, TRUE); |
gtk_tree_view_column_set_resizable(column, TRUE); |
1193 |
|
gtk_tree_view_column_set_sort_column_id (column,GTKTALOG_FILENAME); |
1194 |
gtk_tree_view_column_set_sort_column_id (column, GTKTALOG_FILENAME); |
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); |
|
|
|
|
gtk_tree_view_append_column (treeview, column); |
|
1195 |
|
|
1196 |
renderer = gtk_cell_renderer_text_new (); |
renderer = gtk_cell_renderer_text_new (); |
1197 |
|
column = gtk_tree_view_column_new_with_attributes (titles[1],renderer, "text",GTKTALOG_SIZE,NULL); |
1198 |
column = gtk_tree_view_column_new_with_attributes (titles[1], |
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); |
|
renderer, |
|
|
"text", |
|
|
GTKTALOG_SIZE, |
|
|
NULL); |
|
|
|
|
|
gtk_tree_view_column_set_sort_column_id (column, GTKTALOG_SIZE); |
|
1199 |
|
|
1200 |
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 130); |
renderer = gtk_cell_renderer_text_new (); |
1201 |
|
column = gtk_tree_view_column_new_with_attributes (titles[2],renderer, "text",GTKTALOG_DATE,NULL); |
1202 |
|
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); |
1203 |
|
|
|
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column), |
|
|
GTK_TREE_VIEW_COLUMN_AUTOSIZE); |
|
1204 |
|
|
|
gtk_tree_view_append_column (treeview, column); |
|
|
|
|
1205 |
renderer = gtk_cell_renderer_text_new (); |
renderer = gtk_cell_renderer_text_new (); |
1206 |
|
column = gtk_tree_view_column_new_with_attributes (titles[3],renderer, "text",GTKTALOG_CATEGORY,NULL); |
1207 |
column = gtk_tree_view_column_new_with_attributes (titles[2], |
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); |
|
renderer, |
|
|
"text", |
|
|
GTKTALOG_DATE, |
|
|
NULL); |
|
|
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 130); |
|
|
gtk_tree_view_column_set_sort_column_id (column,GTKTALOG_DATE); |
|
1208 |
|
|
|
gtk_tree_view_append_column (treeview, column); |
|
1209 |
|
|
1210 |
renderer = gtk_cell_renderer_text_new (); |
renderer = gtk_cell_renderer_text_new (); |
1211 |
|
column = gtk_tree_view_column_new_with_attributes (titles[4],renderer, "text",GTKTALOG_DESCRIPTION,NULL); |
1212 |
|
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); |
1213 |
|
|
|
column = gtk_tree_view_column_new_with_attributes (titles[3], |
|
|
renderer, |
|
|
"text", |
|
|
GTKTALOG_CATEGORY, |
|
|
NULL); |
|
|
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 130); |
|
|
|
|
|
gtk_tree_view_column_set_sort_column_id (column,GTKTALOG_CATEGORY); |
|
|
|
|
|
gtk_tree_view_append_column (treeview, column); |
|
|
|
|
|
renderer = gtk_cell_renderer_text_new (); |
|
|
|
|
|
column = gtk_tree_view_column_new_with_attributes (titles[4], |
|
|
renderer, |
|
|
"text", |
|
|
GTKTALOG_DESCRIPTION, |
|
|
NULL); |
|
|
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 130); |
|
|
gtk_tree_view_column_set_sort_column_id (column,GTKTALOG_DESCRIPTION); |
|
|
gtk_tree_view_append_column (treeview, column); |
|
1214 |
|
|
1215 |
renderer = gtk_cell_renderer_text_new (); |
renderer = gtk_cell_renderer_text_new (); |
1216 |
|
column = gtk_tree_view_column_new_with_attributes (titles[5],renderer, "text",GTKTALOG_INFORMATION,NULL); |
1217 |
column = gtk_tree_view_column_new_with_attributes (titles[5], |
gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column); |
|
renderer, |
|
|
"text", |
|
|
GTKTALOG_INFORMATION, |
|
|
NULL); |
|
|
|
|
|
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 130); |
|
|
|
|
|
gtk_tree_view_append_column (treeview, column); |
|
|
|
|
|
} |
|
|
|
|
|
GtkWidget * |
|
|
create_list () |
|
|
{ |
|
|
|
|
|
GtkListStore * returned_list; |
|
|
|
|
|
GtkWidget * treeview; |
|
|
GtkTreeViewColumn * column; |
|
|
GtkCellRenderer * renderer; |
|
|
|
|
1218 |
|
|
|
returned_list = gtk_list_store_new(6, |
|
|
G_TYPE_STRING, |
|
|
G_TYPE_STRING, |
|
|
G_TYPE_STRING, |
|
|
G_TYPE_STRING, |
|
|
G_TYPE_STRING, |
|
|
G_TYPE_STRING); |
|
1219 |
|
|
|
treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(returned_list)); |
|
|
add_columns(GTK_TREE_VIEW(treeview)); |
|
1220 |
|
|
1221 |
return treeview; |
return treeview; |
1222 |
|
|