Added a callback for "edited" filenames

This commit is contained in:
Pierre Pronchery 2006-09-17 20:13:38 +00:00
parent 42db127945
commit b93fa561e1
3 changed files with 32 additions and 19 deletions

View File

@ -591,6 +591,8 @@ static void _view_details(Browser * browser)
BR_COL_PIXBUF_24, NULL)); BR_COL_PIXBUF_24, NULL));
renderer = gtk_cell_renderer_text_new(); renderer = gtk_cell_renderer_text_new();
g_object_set(renderer, "editable", TRUE, NULL); 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_append_column(GTK_TREE_VIEW(browser->detailview),
gtk_tree_view_column_new_with_attributes("Filename", gtk_tree_view_column_new_with_attributes("Filename",
renderer, "text", BR_COL_DISPLAY_NAME, NULL)); 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, g_object_set(renderer, "editable", TRUE, "xalign", 0.5,
"wrap-mode", PANGO_WRAP_WORD_CHAR, "wrap-width", 96, "wrap-mode", PANGO_WRAP_WORD_CHAR, "wrap-width", 96,
NULL); 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, gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(browser->iconview), renderer,
TRUE); TRUE);
gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(browser->iconview), gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(browser->iconview),

View File

@ -641,7 +641,30 @@ void on_view_as(GtkWidget * widget, gpointer data)
#endif #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 */ /* 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, void on_detail_default(GtkTreeView * view, GtkTreePath * path,
GtkTreeViewColumn * column, gpointer data) GtkTreeViewColumn * column, gpointer data)
{ {
@ -677,29 +700,13 @@ void on_icon_default(GtkIconView * view,
#endif #endif
/* address bar */ void on_filename_edited(GtkCellRendererText * renderer, gchar * arg1,
void on_path_activate(GtkWidget * widget, gpointer data) gchar * arg2, gpointer data)
{ {
Browser * browser = data; /* FIXME implement */
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;
static gboolean _popup_show(Browser * browser, GdkEventButton * event, static gboolean _popup_show(Browser * browser, GdkEventButton * event,
GtkWidget * menu); GtkWidget * menu);
static void on_icon_open(GtkWidget * widget, gpointer data); static void on_icon_open(GtkWidget * widget, gpointer data);

View File

@ -57,6 +57,8 @@ void on_detail_default(GtkTreeView * view,
void on_icon_default(GtkIconView * view, GtkTreePath *tree_path, void on_icon_default(GtkIconView * view, GtkTreePath *tree_path,
gpointer data); gpointer data);
#endif #endif
void on_filename_edited(GtkCellRendererText * renderer, gchar * arg1,
gchar * arg2, gpointer data);
gboolean on_view_popup(GtkWidget * widget, GdkEventButton * event, gboolean on_view_popup(GtkWidget * widget, GdkEventButton * event,
gpointer data); gpointer data);