diff src/view_dir.c @ 401:0a2e1b130a25

Add some wrappers in view_dir.c and simplify even more.
author zas_
date Thu, 17 Apr 2008 20:03:49 +0000
parents 35346871af88
children f6046e1b3622
line wrap: on
line diff
--- a/src/view_dir.c	Thu Apr 17 19:57:41 2008 +0000
+++ b/src/view_dir.c	Thu Apr 17 20:03:49 2008 +0000
@@ -30,7 +30,7 @@
   { "FolderTree",	NULL,		N_("Tr_ee"),		"<control>T",	NULL, DIRVIEW_TREE },
 };
 
-void vd_destroy_cb(GtkWidget *widget, gpointer data)
+static void vd_destroy_cb(GtkWidget *widget, gpointer data)
 {
 	ViewDir *vd = data;
 
@@ -41,8 +41,12 @@
 		gtk_widget_destroy(vd->popup);
 		}
 
-	if (vd->widget_destroy_cb) vd->widget_destroy_cb(widget, data);
-
+	switch(vd->type)
+	{
+	case DIRVIEW_LIST: vdlist_destroy_cb(widget, data); break;
+	case DIRVIEW_TREE: vdtree_destroy_cb(widget, data); break;
+	}
+	
 	if (vd->pf) folder_icons_free(vd->pf);
 	if (vd->drop_list) filelist_free(vd->drop_list);
 
@@ -918,3 +922,30 @@
 	return FALSE;
 }
 
+gint vd_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
+{
+	ViewDir *vd = data;
+	gint ret = FALSE;
+
+	switch(vd->type)
+	{
+	case DIRVIEW_LIST: ret = vdlist_press_key_cb(widget, event, data); break;
+	case DIRVIEW_TREE: ret = vdtree_press_key_cb(widget, event, data); break;
+	}
+
+	return ret;
+}
+
+gint vd_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
+{
+	ViewDir *vd = data;
+	gint ret = FALSE;
+
+	switch(vd->type)
+	{
+	case DIRVIEW_LIST: ret = vdlist_press_cb(widget, bevent, data); break;
+	case DIRVIEW_TREE: ret = vdtree_press_cb(widget, bevent, data); break;
+	}
+
+	return ret;
+}