170 |
GTree *local_vfs_extensions; |
GTree *local_vfs_extensions; |
171 |
GTree *local_ei_extensions; |
GTree *local_ei_extensions; |
172 |
|
|
173 |
|
struct_mime_type_to_skip mime_type_to_skip_current_selection; |
174 |
|
|
175 |
gchar *date_format; |
gchar *date_format; |
176 |
gchar *mount_prog; |
gchar *mount_prog; |
177 |
gchar *umount_prog; |
gchar *umount_prog; |
300 |
// this needs a little work... |
// this needs a little work... |
301 |
pix->icon = gdk_pixbuf_new_from_file(pix->path->str, NULL); |
pix->icon = gdk_pixbuf_new_from_file(pix->path->str, NULL); |
302 |
|
|
303 |
g_print("added %s from file\n", pix->path->str); |
//g_print("added %s from file\n", pix->path->str); |
304 |
|
|
305 |
|
|
306 |
if (pix->pixmap) |
if (pix->pixmap) |
1912 |
|
|
1913 |
// WK |
// WK |
1914 |
gint |
gint |
1915 |
find_mime_type(gconstpointer el1, |
find_mime_type(struct_mime_type_to_skip* el1, |
1916 |
gconstpointer el2) |
struct_mime_type_to_skip* el2) |
1917 |
{ |
{ |
1918 |
return g_strcasecmp(((struct_mime_type_to_skip*)el1)->mime_type, |
// el1 = GList* |
1919 |
((struct_mime_type_to_skip*)el2)->mime_type); |
// el2 = struct_mime_type_to_skip* |
1920 |
|
|
1921 |
|
gchar* str1; |
1922 |
|
gchar* str2; |
1923 |
|
|
1924 |
|
str1 = el1->mime_type; |
1925 |
|
str2 = el2->mime_type; |
1926 |
|
|
1927 |
|
g_print("compare : str1=%s str2=%s\n", str1, str2); |
1928 |
|
|
1929 |
|
return g_strcasecmp(str1, str2); |
1930 |
} |
} |
1931 |
|
|
1932 |
// WK : to modify |
// WK : to modify |
1934 |
ess_add_type_ok_clicked (GtkWidget * w, gpointer data) |
ess_add_type_ok_clicked (GtkWidget * w, gpointer data) |
1935 |
{ |
{ |
1936 |
GList* el; |
GList* el; |
1937 |
struct_mime_type_to_skip temp_extension; |
struct_mime_type_to_skip *temp_extension; |
1938 |
GtkTreeModel* model; |
GtkTreeIter iter; |
1939 |
|
|
1940 |
|
GtkTreeModel *model; // = (GtkTreeModel *)data; |
1941 |
|
|
1942 |
|
//gtk_list_store_append (GTK_LIST_STORE (model), &iter); |
1943 |
|
//gtk_list_store_set (GTK_LIST_STORE (model), &iter, |
1944 |
|
// MIME_TYPES_TO_SKIP_COLUMN_STATE, 1, |
1945 |
|
// MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE, "sss", |
1946 |
|
// -1); |
1947 |
|
|
1948 |
temp_extension.mime_type = |
temp_extension=(struct_mime_type_to_skip*)g_new(struct_mime_type_to_skip*,1); |
1949 |
|
|
1950 |
|
temp_extension->mime_type = |
1951 |
gtk_editable_get_chars (GTK_EDITABLE (ess_include_type_entry), 0, -1); |
gtk_editable_get_chars (GTK_EDITABLE (ess_include_type_entry), 0, -1); |
1952 |
|
|
1953 |
if (!is_mime_valid (temp_extension.mime_type)) |
if (!is_mime_valid (temp_extension->mime_type)) |
1954 |
{ |
{ |
1955 |
ERROR_DIALOG (_ |
ERROR_DIALOG (_ |
1956 |
("The specified MIME is not valid. Nothing will be done."), |
("The specified MIME is not valid. Nothing will be done."), |
1960 |
{ |
{ |
1961 |
// check if temp_extension is part of the Glist (mime_to_skip_during_a_scan) |
// check if temp_extension is part of the Glist (mime_to_skip_during_a_scan) |
1962 |
el=g_list_find_custom(my_config->mime_to_skip_during_a_scan, |
el=g_list_find_custom(my_config->mime_to_skip_during_a_scan, |
1963 |
&temp_extension, |
temp_extension, |
1964 |
find_mime_type); |
(GCompareFunc)find_mime_type); |
1965 |
|
g_print ("el=%d\n", el); |
1966 |
|
|
1967 |
if (el) |
if (el) |
1968 |
{ |
{ |
1974 |
} |
} |
1975 |
else |
else |
1976 |
{ |
{ |
1977 |
temp_extension.mime_type = g_strdup (temp_extension.mime_type); |
temp_extension->mime_type = g_strdup (temp_extension->mime_type); |
1978 |
temp_extension.state=1; |
temp_extension->state=1; |
1979 |
|
|
1980 |
|
g_print ("temp_extension=%s | %d\n",temp_extension->mime_type, temp_extension->state); |
1981 |
// insert temp_extension in the tree |
// insert temp_extension in the tree |
1982 |
my_config->mime_to_skip_during_a_scan= |
my_config->mime_to_skip_during_a_scan= |
1983 |
g_list_append(my_config->mime_to_skip_during_a_scan, |
g_list_append(my_config->mime_to_skip_during_a_scan, |
1984 |
&temp_extension); |
temp_extension); |
1985 |
|
|
1986 |
model=mime_types_to_skip_create_model(); |
model=mime_types_to_skip_create_model(); |
1987 |
ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model)); |
ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model)); |
1988 |
//g_tree_insert (local_ess_extensions, temp_extension, |
gtk_widget_show(ess_include_list_box); |
|
// GINT_TO_POINTER (1)); |
|
|
//ess_extensions_traverse (temp_extension, GINT_TO_POINTER (1), NULL); |
|
1989 |
} |
} |
1990 |
} |
} |
1991 |
gtk_widget_destroy (ess_add_type_window); |
gtk_widget_destroy (ess_add_type_window); |
2045 |
gtk_container_add (GTK_CONTAINER (frame), vbox2); |
gtk_container_add (GTK_CONTAINER (frame), vbox2); |
2046 |
gtk_widget_show (vbox2); |
gtk_widget_show (vbox2); |
2047 |
|
|
|
// XXX |
|
2048 |
ess_include_type_entry = gtk_entry_new_with_max_length (80); |
ess_include_type_entry = gtk_entry_new_with_max_length (80); |
2049 |
|
|
2050 |
if (ess_add_edit_mode == EDIT_MODE) |
if (ess_add_edit_mode == EDIT_MODE) |
2080 |
ess_include_type_entry); |
ess_include_type_entry); |
2081 |
|
|
2082 |
gtk_widget_show (guess_button); |
gtk_widget_show (guess_button); |
2083 |
//******************************* |
//******************************* |
2084 |
|
|
2085 |
hbox = gtk_hbutton_box_new (); |
hbox = gtk_hbutton_box_new (); |
2086 |
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END); |
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END); |
2129 |
/* ess_selected_row = row; */ |
/* ess_selected_row = row; */ |
2130 |
/* clrow_data = gtk_clist_get_row_data (GTK_CLIST (ess_include_list_box), row); */ |
/* clrow_data = gtk_clist_get_row_data (GTK_CLIST (ess_include_list_box), row); */ |
2131 |
/* ess_selected_extension = clrow_data; */ |
/* ess_selected_extension = clrow_data; */ |
|
/* gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE); */ |
|
2132 |
|
|
2133 |
/* if (event != NULL && event->button == 1 && event->type == GDK_2BUTTON_PRESS) */ |
/* if (event != NULL && event->button == 1 && event->type == GDK_2BUTTON_PRESS) */ |
2134 |
/* { */ |
/* { */ |
2160 |
/* gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE); */ |
/* gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE); */ |
2161 |
/* } */ |
/* } */ |
2162 |
|
|
2163 |
|
static void mime_type_to_skip_selection_changed(GtkTreeSelection *selection, |
2164 |
|
gpointer data) |
2165 |
|
{ |
2166 |
|
GtkTreeModel *model=(GtkTreeModel*)data; |
2167 |
|
GtkTreeIter iter; |
2168 |
|
gchar* mime_type; |
2169 |
|
gint state; |
2170 |
|
gboolean res; |
2171 |
|
|
2172 |
|
res=gtk_tree_selection_get_selected(selection, |
2173 |
|
&model, |
2174 |
|
&iter); |
2175 |
|
|
2176 |
|
// if *data is NULL, it means the tree collapses and no data is available |
2177 |
|
// until the user selects a new row. |
2178 |
|
if (&iter) |
2179 |
|
{ |
2180 |
|
gtk_tree_model_get (model,&iter, |
2181 |
|
BROWSING_TREE_COLUMN_TITLE, &state, |
2182 |
|
BROWSING_TREE_COLUMN_POINTER, &mime_type, |
2183 |
|
-1); |
2184 |
|
gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE); |
2185 |
|
|
2186 |
|
g_print ("\nselection : %s | %d | stamp = %d\n",mime_type, state, iter.stamp); |
2187 |
|
mime_type_to_skip_current_selection.mime_type=mime_type; |
2188 |
|
mime_type_to_skip_current_selection.state=state; |
2189 |
|
} |
2190 |
|
else |
2191 |
|
{ |
2192 |
|
g_print ("\nselection is empty"); |
2193 |
|
} |
2194 |
|
} |
2195 |
|
|
2196 |
|
|
2197 |
static gint |
static gint |
2244 |
ess_add_type (w, GINT_TO_POINTER (EDIT_MODE)); |
ess_add_type (w, GINT_TO_POINTER (EDIT_MODE)); |
2245 |
} |
} |
2246 |
|
|
2247 |
|
void |
2248 |
|
disp_glist(GList* glist) |
2249 |
|
{ |
2250 |
|
struct_mime_type_to_skip* item; |
2251 |
|
GList* tmp; |
2252 |
|
|
2253 |
|
tmp=glist; |
2254 |
|
g_print("\n\n*** LIST: %d items ***",g_list_length(glist)); |
2255 |
|
while (tmp) |
2256 |
|
{ |
2257 |
|
item=(struct_mime_type_to_skip*)tmp->data; |
2258 |
|
g_print ("\nMIME:%s STATE:%d",item->mime_type,item->state); |
2259 |
|
tmp=g_list_next(tmp); |
2260 |
|
} |
2261 |
|
g_print("\n"); |
2262 |
|
} |
2263 |
|
|
2264 |
// WK |
// WK |
2265 |
void |
void |
2266 |
ess_include_delete_button_clicked (GtkWidget * w, gpointer data) |
ess_include_delete_button_clicked (GtkWidget * w, gpointer data) |
2267 |
{ |
{ |
2268 |
g_message("ess_include_delete_button_clicked to change"); |
GtkTreeIter iter; |
2269 |
if (ess_selected_row >= 0) |
GtkTreeView *tv; |
2270 |
|
GtkTreeModel *model; |
2271 |
|
GtkTreeSelection *listSelection; |
2272 |
|
|
2273 |
|
struct_mime_type_to_skip* selection; |
2274 |
|
GList* glist=my_config->mime_to_skip_during_a_scan; |
2275 |
|
GList* tmp; |
2276 |
|
int res; |
2277 |
|
gchar* mime_type=selection->mime_type; |
2278 |
|
int bol; |
2279 |
|
|
2280 |
|
tv = (GtkTreeView *)data; |
2281 |
|
model = gtk_tree_view_get_model (ess_include_list_box); |
2282 |
|
listSelection = gtk_tree_view_get_selection (ess_include_list_box); |
2283 |
|
|
2284 |
|
g_print("Passed data = %p\n",data); |
2285 |
|
|
2286 |
|
if (gtk_tree_selection_get_selected (listSelection, NULL, &iter)) |
2287 |
|
gtk_list_store_remove (GTK_LIST_STORE (model), &iter); |
2288 |
|
|
2289 |
|
selection = &mime_type_to_skip_current_selection; |
2290 |
|
if (selection) |
2291 |
{ |
{ |
2292 |
/* g_tree_remove (local_ess_extensions, ess_selected_extension); */ |
g_print ("Remove button clicked, str= %s | %d\n", selection->mime_type,selection->state); |
2293 |
/* g_free (ess_selected_extension); */ |
disp_glist(glist); |
2294 |
/* gtk_clist_remove (GTK_CLIST (ess_include_list_box), ess_selected_row); */ |
|
2295 |
/* ess_selected_extension = NULL; */ |
// go thru the glist to find the first type that matches |
2296 |
/* gtk_clist_remove (GTK_CLIST (ess_include_list_box), ess_selected_row); */ |
tmp=glist; |
2297 |
/* ess_selected_row = -1; */ |
while (tmp) |
2298 |
/* gtk_clist_sort (GTK_CLIST (ess_include_list_box)); */ |
{ |
2299 |
/* gtk_clist_columns_autosize (GTK_CLIST (ess_include_list_box)); */ |
g_print("compare :\n >%s\n >%s\n",((struct_mime_type_to_skip*)(tmp->data))->mime_type,selection->mime_type); |
2300 |
|
res=strcmp(((struct_mime_type_to_skip*)(tmp->data))->mime_type,selection->mime_type); |
2301 |
|
if (!res) |
2302 |
|
break; |
2303 |
|
tmp=g_list_next(tmp); |
2304 |
|
} |
2305 |
|
g_print ("item found : %p\n",tmp); |
2306 |
|
|
2307 |
|
glist = g_list_delete_link(glist, tmp); |
2308 |
|
disp_glist(glist); |
2309 |
|
my_config->mime_to_skip_during_a_scan=glist; |
2310 |
} |
} |
2311 |
} |
} |
2312 |
|
|
2762 |
fprintf (f, "ScanMimeTypes %s\n", |
fprintf (f, "ScanMimeTypes %s\n", |
2763 |
(my_config->scan_mime_types ? "True" : "False")); |
(my_config->scan_mime_types ? "True" : "False")); |
2764 |
|
|
2765 |
|
item=my_config->mime_to_skip_during_a_scan; |
2766 |
fprintf (f, "\n# AddMimeToSkip mime state\n"); |
fprintf (f, "\n# AddMimeToSkip mime state\n"); |
|
item=g_list_first(my_config->mime_to_skip_during_a_scan); |
|
2767 |
while (item) |
while (item) |
2768 |
{ |
{ |
2769 |
tmp=(struct_mime_type_to_skip *)item->data; |
tmp=(struct_mime_type_to_skip *)item->data; |
2770 |
|
//g_print ("adding %s\n",tmp->mime_type); |
2771 |
ess_tree_printf(tmp->mime_type, GINT_TO_POINTER(tmp->state), f); |
ess_tree_printf(tmp->mime_type, GINT_TO_POINTER(tmp->state), f); |
2772 |
item=g_list_next(item); |
item=g_list_next(item); |
2773 |
} |
} |
3100 |
GtkTreeModel *model=(GtkTreeModel*)data; |
GtkTreeModel *model=(GtkTreeModel*)data; |
3101 |
GtkTreeIter iter; |
GtkTreeIter iter; |
3102 |
gchar* str_data; |
gchar* str_data; |
|
GtkTreePath * path; |
|
|
GtkTreeView* treeview = gtk_tree_selection_get_tree_view (selection); |
|
3103 |
GtkWidget** frame; |
GtkWidget** frame; |
|
gpointer *user_data; |
|
3104 |
gboolean res; |
gboolean res; |
3105 |
|
|
3106 |
res=gtk_tree_selection_get_selected(selection, |
res=gtk_tree_selection_get_selected(selection, |
3213 |
{ |
{ |
3214 |
gtk_list_store_append (store, &iter); |
gtk_list_store_append (store, &iter); |
3215 |
tmp=(struct_mime_type_to_skip *)item->data; |
tmp=(struct_mime_type_to_skip *)item->data; |
3216 |
|
//g_print("adding %s in the model\n",tmp->mime_type); |
3217 |
gtk_list_store_set (store, &iter, |
gtk_list_store_set (store, &iter, |
3218 |
MIME_TYPES_TO_SKIP_COLUMN_STATE, tmp->state , |
MIME_TYPES_TO_SKIP_COLUMN_STATE, tmp->state , |
3219 |
MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE, tmp->mime_type, |
MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE, tmp->mime_type, |
4446 |
gtk_clist_set_compare_func (GTK_CLIST (vfs_include_list_box), |
gtk_clist_set_compare_func (GTK_CLIST (vfs_include_list_box), |
4447 |
_clist_g_strcasecmp); |
_clist_g_strcasecmp); |
4448 |
|
|
4449 |
gtk_clist_set_sort_column (GTK_CLIST (vfs_include_list_box), 1); |
gtk_clist_set_sort_column (GTK_CLIST (vfs_include_list_box), 1); |
4450 |
gtk_clist_set_sort_type (GTK_CLIST (vfs_include_list_box), |
gtk_clist_set_sort_type (GTK_CLIST (vfs_include_list_box), |
4451 |
GTK_SORT_ASCENDING); |
GTK_SORT_ASCENDING); |
4452 |
|
|
4485 |
gtk_box_pack_start (GTK_BOX (hbox), delete_button, TRUE, TRUE, 0); |
gtk_box_pack_start (GTK_BOX (hbox), delete_button, TRUE, TRUE, 0); |
4486 |
g_signal_connect (GTK_OBJECT (delete_button), "clicked", |
g_signal_connect (GTK_OBJECT (delete_button), "clicked", |
4487 |
GTK_SIGNAL_FUNC (vfs_include_delete_button_clicked), |
GTK_SIGNAL_FUNC (vfs_include_delete_button_clicked), |
4488 |
NULL); |
ess_include_list_box); |
4489 |
gtk_widget_show (delete_button); |
gtk_widget_show (delete_button); |
4490 |
|
|
4491 |
gtk_box_pack_start (GTK_BOX (main_box), hbox, FALSE, TRUE, 0); |
gtk_box_pack_start (GTK_BOX (main_box), hbox, FALSE, TRUE, 0); |
4591 |
// setup box to associate icons to file extensions |
// setup box to associate icons to file extensions |
4592 |
model=mime_types_to_skip_create_model(); |
model=mime_types_to_skip_create_model(); |
4593 |
ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model)); |
ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model)); |
4594 |
|
g_print("ess_include_list_box = %p\n",ess_include_list_box); |
4595 |
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (ess_include_list_box), TRUE); |
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (ess_include_list_box), TRUE); |
4596 |
gtk_tree_view_set_search_column (GTK_TREE_VIEW (ess_include_list_box), |
gtk_tree_view_set_search_column (GTK_TREE_VIEW (ess_include_list_box), |
4597 |
MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE); |
MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE); |
4598 |
g_object_unref (G_OBJECT (model)); |
//g_object_unref (G_OBJECT (model)); |
4599 |
|
|
4600 |
// show the clist |
// show the clist |
4601 |
// wk : changed scrolled_window -> main_box |
// wk : changed scrolled_window -> main_box |
4602 |
gtk_container_add (GTK_CONTAINER (main_box), ess_include_list_box); |
gtk_container_add (GTK_CONTAINER (main_box), ess_include_list_box); |
4603 |
mime_types_to_skip_add_columns(GTK_TREE_VIEW(ess_include_list_box)); |
mime_types_to_skip_add_columns(GTK_TREE_VIEW(ess_include_list_box)); |
4604 |
gtk_widget_show (ess_include_list_box); |
gtk_widget_show (ess_include_list_box); |
4605 |
|
|
4606 |
|
g_signal_connect (G_OBJECT (gtk_tree_view_get_selection((GtkTreeView*)ess_include_list_box)), |
4607 |
|
"changed", |
4608 |
|
GTK_SIGNAL_FUNC (mime_type_to_skip_selection_changed), model); |
4609 |
|
|
4610 |
hbox = gtk_hbutton_box_new (); |
hbox = gtk_hbutton_box_new (); |
4611 |
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END); |
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END); |
4616 |
GTK_WIDGET_SET_FLAGS (ess_button_add, GTK_CAN_DEFAULT); |
GTK_WIDGET_SET_FLAGS (ess_button_add, GTK_CAN_DEFAULT); |
4617 |
gtk_box_pack_start (GTK_BOX (hbox), ess_button_add, FALSE, FALSE, 0); |
gtk_box_pack_start (GTK_BOX (hbox), ess_button_add, FALSE, FALSE, 0); |
4618 |
g_signal_connect (GTK_OBJECT (ess_button_add), "clicked", |
g_signal_connect (GTK_OBJECT (ess_button_add), "clicked", |
4619 |
GTK_SIGNAL_FUNC (ess_add_type), |
GTK_SIGNAL_FUNC (ess_add_type), |
4620 |
GINT_TO_POINTER (ADD_MODE)); |
GINT_TO_POINTER (ADD_MODE)); |
4621 |
|
|
4622 |
gtk_widget_show (ess_button_add); |
gtk_widget_show (ess_button_add); |
4623 |
|
|
4624 |
ess_button_del = gtk_button_new_with_label (_("Delete")); |
ess_button_del = gtk_button_new_with_label (_("Delete")); |
4625 |
GTK_WIDGET_SET_FLAGS (ess_button_del, GTK_CAN_DEFAULT); |
GTK_WIDGET_SET_FLAGS (ess_button_del, GTK_CAN_DEFAULT); |
4626 |
gtk_box_pack_start (GTK_BOX (hbox), ess_button_del, FALSE, FALSE, 0); |
gtk_box_pack_start (GTK_BOX (hbox), ess_button_del, FALSE, FALSE, 0); |
4627 |
g_signal_connect (GTK_OBJECT (ess_button_del), "clicked", |
g_signal_connect (GTK_OBJECT (ess_button_del), "clicked", |
4628 |
GTK_SIGNAL_FUNC (ess_include_delete_button_clicked), |
GTK_SIGNAL_FUNC (ess_include_delete_button_clicked), |
4629 |
NULL); |
ess_include_list_box); |
4630 |
|
|
4631 |
gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE); |
gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE); |
4632 |
gtk_widget_show (ess_button_del); |
gtk_widget_show (ess_button_del); |
4633 |
|
|
4763 |
|
|
4764 |
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); |
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); |
4765 |
|
|
|
|
|
4766 |
selected_row = -1; |
selected_row = -1; |
4767 |
selected_extension = NULL; |
selected_extension = NULL; |
4768 |
|
|