diff --git a/src/browser.c b/src/browser.c index e2d9d6e..ee17ba6 100644 --- a/src/browser.c +++ b/src/browser.c @@ -591,6 +591,8 @@ static void _view_details(Browser * browser) BR_COL_PIXBUF_24, NULL)); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "editable", TRUE, NULL); + g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK( + on_filename_edited), browser); gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview), gtk_tree_view_column_new_with_attributes("Filename", renderer, "text", BR_COL_DISPLAY_NAME, NULL)); @@ -638,6 +640,8 @@ static void _view_icons(Browser * browser) g_object_set(renderer, "editable", TRUE, "xalign", 0.5, "wrap-mode", PANGO_WRAP_WORD_CHAR, "wrap-width", 96, NULL); + g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK( + on_filename_edited), browser); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(browser->iconview), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(browser->iconview), diff --git a/src/callbacks.c b/src/callbacks.c index e4dc455..eed38f2 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -641,7 +641,30 @@ void on_view_as(GtkWidget * widget, gpointer data) #endif +/* address bar */ +void on_path_activate(GtkWidget * widget, gpointer data) +{ + Browser * browser = data; + + browser_set_location(browser, gtk_entry_get_text(GTK_ENTRY( + browser->tb_path))); +} + + /* view */ +/* types */ +/* FIXME rather ugly, maybe could go directly in Browser */ +typedef struct _IconCallback +{ + Browser * browser; + int isdir; + char * path; +} IconCallback; + +/* variables */ +static IconCallback _icon_cb_data; + + void on_detail_default(GtkTreeView * view, GtkTreePath * path, GtkTreeViewColumn * column, gpointer data) { @@ -677,29 +700,13 @@ void on_icon_default(GtkIconView * view, #endif -/* address bar */ -void on_path_activate(GtkWidget * widget, gpointer data) +void on_filename_edited(GtkCellRendererText * renderer, gchar * arg1, + gchar * arg2, gpointer data) { - Browser * browser = data; - - browser_set_location(browser, gtk_entry_get_text(GTK_ENTRY( - browser->tb_path))); + /* FIXME implement */ } -/* view */ -/* types */ -/* FIXME rather ugly, maybe could go directly in Browser */ -typedef struct _IconCallback -{ - Browser * browser; - int isdir; - char * path; -} IconCallback; - -/* variables */ -static IconCallback _icon_cb_data; - static gboolean _popup_show(Browser * browser, GdkEventButton * event, GtkWidget * menu); static void on_icon_open(GtkWidget * widget, gpointer data); diff --git a/src/callbacks.h b/src/callbacks.h index e748f39..c315f7c 100644 --- a/src/callbacks.h +++ b/src/callbacks.h @@ -57,6 +57,8 @@ void on_detail_default(GtkTreeView * view, void on_icon_default(GtkIconView * view, GtkTreePath *tree_path, gpointer data); #endif +void on_filename_edited(GtkCellRendererText * renderer, gchar * arg1, + gchar * arg2, gpointer data); gboolean on_view_popup(GtkWidget * widget, GdkEventButton * event, gpointer data);