Skip to content

Commit

Permalink
Add some wrappers in view_dir.c and simplify even more.
Browse files Browse the repository at this point in the history
  • Loading branch information
Laurent Monin committed Apr 17, 2008
1 parent c53023e commit 1b4a527
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 19 deletions.
1 change: 0 additions & 1 deletion src/typedefs.h
Expand Up @@ -532,7 +532,6 @@ struct _ViewDir
{
DirViewType type;
gpointer info;
void (*widget_destroy_cb)(GtkWidget *widget, gpointer data);

GtkWidget *widget;
GtkWidget *view;
Expand Down
37 changes: 34 additions & 3 deletions src/view_dir.c
Expand Up @@ -30,7 +30,7 @@ GtkRadioActionEntry menu_view_dir_radio_entries[] = {
{ "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;

Expand All @@ -41,8 +41,12 @@ void vd_destroy_cb(GtkWidget *widget, gpointer data)
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);

Expand Down Expand Up @@ -918,3 +922,30 @@ gint vd_release_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
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;
}
4 changes: 2 additions & 2 deletions src/view_dir.h
Expand Up @@ -22,8 +22,6 @@ enum {

extern GtkRadioActionEntry menu_view_dir_radio_entries[2];

void vd_destroy(ViewDir *vd);

ViewDir *vd_new(DirViewType type, const gchar *path);

void vd_set_select_func(ViewDir *vdl, void (*func)(ViewDir *vdl, const gchar *path, gpointer data), gpointer data);
Expand Down Expand Up @@ -51,6 +49,8 @@ void vd_activate_cb(GtkTreeView *tview, GtkTreePath *tpath, GtkTreeViewColumn *c
void vd_color_cb(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data);

gint vd_release_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data);
gint vd_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
gint vd_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data);

#endif

Expand Down
12 changes: 5 additions & 7 deletions src/view_dir_list.c
Expand Up @@ -284,7 +284,7 @@ void vdlist_refresh(ViewDir *vd)
g_free(path);
}

static gint vdlist_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
gint vdlist_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
{
ViewDir *vd = data;
GtkTreePath *tpath;
Expand Down Expand Up @@ -317,7 +317,7 @@ static gint vdlist_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer
return TRUE;
}

static gint vdlist_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
gint vdlist_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
{
ViewDir *vd = data;
GtkTreePath *tpath;
Expand Down Expand Up @@ -349,7 +349,7 @@ static gint vdlist_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer
return TRUE;
}

static void vdlist_destroy_cb(GtkWidget *widget, gpointer data)
void vdlist_destroy_cb(GtkWidget *widget, gpointer data)
{
ViewDir *vd = data;

Expand All @@ -368,7 +368,6 @@ ViewDir *vdlist_new(ViewDir *vd, const gchar *path)

vd->info = g_new0(ViewDirInfoList, 1);
vd->type = DIRVIEW_LIST;
vd->widget_destroy_cb = vdlist_destroy_cb;

VDLIST_INFO(vd, list) = NULL;

Expand All @@ -379,7 +378,6 @@ ViewDir *vdlist_new(ViewDir *vd, const gchar *path)
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(vd->view), FALSE);
gtk_tree_view_set_enable_search(GTK_TREE_VIEW(vd->view), FALSE);
g_signal_connect(G_OBJECT(vd->view), "row_activated",

G_CALLBACK(vd_activate_cb), vd);

selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(vd->view));
Expand All @@ -401,14 +399,14 @@ ViewDir *vdlist_new(ViewDir *vd, const gchar *path)
gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column);

g_signal_connect(G_OBJECT(vd->view), "key_press_event",
G_CALLBACK(vdlist_press_key_cb), vd);
G_CALLBACK(vd_press_key_cb), vd);
gtk_container_add(GTK_CONTAINER(vd->widget), vd->view);
gtk_widget_show(vd->view);

vd_dnd_init(vd);

g_signal_connect(G_OBJECT(vd->view), "button_press_event",
G_CALLBACK(vdlist_press_cb), vd);
G_CALLBACK(vd_press_cb), vd);
g_signal_connect(G_OBJECT(vd->view), "button_release_event",
G_CALLBACK(vd_release_cb), vd);

Expand Down
4 changes: 4 additions & 0 deletions src/view_dir_list.h
Expand Up @@ -26,6 +26,10 @@ gint vdlist_find_row(ViewDir *vd, FileData *fd, GtkTreeIter *iter);
void vdlist_rename_by_row(ViewDir *vd, FileData *fd);
FileData *vdlist_row_by_path(ViewDir *vd, const gchar *path, gint *row);

gint vdlist_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
gint vdlist_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data);

void vdlist_destroy_cb(GtkWidget *widget, gpointer data);

#endif

Expand Down
11 changes: 5 additions & 6 deletions src/view_dir_tree.c
Expand Up @@ -738,7 +738,7 @@ const gchar *vdtree_row_get_path(ViewDir *vd, gint row)
*----------------------------------------------------------------------------
*/

static gint vdtree_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
gint vdtree_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
{
ViewDir *vd = data;
GtkTreePath *tpath;
Expand Down Expand Up @@ -809,7 +809,7 @@ static gint vdtree_clicked_on_expander(GtkTreeView *treeview, GtkTreePath *tpath
return FALSE;
}

static gint vdtree_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
gint vdtree_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
{
ViewDir *vd = data;
GtkTreePath *tpath;
Expand Down Expand Up @@ -918,7 +918,7 @@ static gboolean vdtree_destroy_node_cb(GtkTreeModel *store, GtkTreePath *tpath,
return FALSE;
}

static void vdtree_destroy_cb(GtkWidget *widget, gpointer data)
void vdtree_destroy_cb(GtkWidget *widget, gpointer data)
{
ViewDir *vd = data;
GtkTreeModel *store;
Expand All @@ -940,7 +940,6 @@ ViewDir *vdtree_new(ViewDir *vd, const gchar *path)

vd->info = g_new0(ViewDirInfoTree, 1);
vd->type = DIRVIEW_TREE;
vd->widget_destroy_cb = vdtree_destroy_cb;

VDTREE_INFO(vd, drop_expand_id) = -1;

Expand Down Expand Up @@ -987,7 +986,7 @@ ViewDir *vdtree_new(ViewDir *vd, const gchar *path)
gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column);

g_signal_connect(G_OBJECT(vd->view), "key_press_event",
G_CALLBACK(vdtree_press_key_cb), vd);
G_CALLBACK(vd_press_key_cb), vd);

gtk_container_add(GTK_CONTAINER(vd->widget), vd->view);
gtk_widget_show(vd->view);
Expand All @@ -999,7 +998,7 @@ ViewDir *vdtree_new(ViewDir *vd, const gchar *path)
vd_dnd_init(vd);

g_signal_connect(G_OBJECT(vd->view), "button_press_event",
G_CALLBACK(vdtree_press_cb), vd);
G_CALLBACK(vd_press_cb), vd);
g_signal_connect(G_OBJECT(vd->view), "button_release_event",
G_CALLBACK(vd_release_cb), vd);

Expand Down
5 changes: 5 additions & 0 deletions src/view_dir_tree.h
Expand Up @@ -36,5 +36,10 @@ void vdtree_rename_by_data(ViewDir *vd, FileData *fd);
void vdtree_dnd_drop_expand_cancel(ViewDir *vd);
void vdtree_dnd_drop_expand(ViewDir *vd);

gint vdtree_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
gint vdtree_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data);

void vdtree_destroy_cb(GtkWidget *widget, gpointer data);

#endif

0 comments on commit 1b4a527

Please sign in to comment.