From 5709094e95ce180ea9e1a1b49f3c8d43ed827dd0 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Thu, 14 Sep 2006 21:49:19 +0000 Subject: [PATCH] Added "view" menu --- src/browser.c | 17 ++++++++++++-- src/callbacks.c | 59 +++++++++++++++++++++++++++++-------------------- src/callbacks.h | 11 ++++++--- 3 files changed, 58 insertions(+), 29 deletions(-) diff --git a/src/browser.c b/src/browser.c index 99cb0a5..7dc41a6 100644 --- a/src/browser.c +++ b/src/browser.c @@ -60,6 +60,18 @@ static struct _menu _menu_edit[] = { NULL, NULL, NULL } }; +static struct _menu _menu_view[] = +{ + { "_Home", G_CALLBACK(on_view_home), GTK_STOCK_HOME }, +#if GTK_CHECK_VERSION(2, 6, 0) + { "", NULL, NULL }, + { "_Details", G_CALLBACK(on_view_details), NULL }, + { "_Icons", G_CALLBACK(on_view_icons), NULL }, + { "_List", G_CALLBACK(on_view_list), NULL }, +#endif + { NULL, NULL, NULL } +}; + static struct _menu _menu_help[] = { #if GTK_CHECK_VERSION(2, 6, 0) @@ -74,6 +86,7 @@ static struct _menubar _menubar[] = { { "_File", _menu_file }, { "_Edit", _menu_edit }, + { "_View", _menu_view }, { "_Help", _menu_help }, { NULL, NULL } }; @@ -168,11 +181,11 @@ Browser * browser_new(char const * directory) menu = gtk_menu_new(); menuitem = gtk_menu_item_new_with_label("Details"); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK( - on_view_detail), browser); + on_view_details), browser); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_menu_item_new_with_label("Icons"); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK( - on_view_icon), browser); + on_view_icons), browser); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); menuitem = gtk_menu_item_new_with_label("List"); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK( diff --git a/src/callbacks.c b/src/callbacks.c index 3b3e22b..e4dc455 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -314,6 +314,41 @@ static void _preferences_on_ok(GtkWidget * widget, gpointer data) } +/* view menu */ +void on_view_home(GtkWidget * widget, gpointer data) +{ + Browser * browser = data; + + browser_set_location(browser, g_get_home_dir()); +} + + +#if GTK_CHECK_VERSION(2, 6, 0) +void on_view_details(GtkWidget * widget, gpointer data) +{ + Browser * browser = data; + + browser_set_view(browser, BV_DETAILS); +} + + +void on_view_icons(GtkWidget * widget, gpointer data) +{ + Browser * browser = data; + + browser_set_view(browser, BV_ICONS); +} + + +void on_view_list(GtkWidget * widget, gpointer data) +{ + Browser * browser = data; + + browser_set_view(browser, BV_LIST); +} +#endif /* GTK_CHECK_VERSION(2, 6, 0) */ + + /* help menu */ static gboolean _about_on_closex(GtkWidget * widget, GdkEvent * event, gpointer data); @@ -603,30 +638,6 @@ void on_view_as(GtkWidget * widget, gpointer data) else browser_set_view(browser, BV_DETAILS); } - - -void on_view_detail(GtkMenuItem * menuitem, gpointer data) -{ - Browser * browser = data; - - browser_set_view(browser, BV_DETAILS); -} - - -void on_view_icon(GtkMenuItem * menuitem, gpointer data) -{ - Browser * browser = data; - - browser_set_view(browser, BV_ICONS); -} - - -void on_view_list(GtkMenuItem * menuitem, gpointer data) -{ - Browser * browser = data; - - browser_set_view(browser, BV_LIST); -} #endif diff --git a/src/callbacks.h b/src/callbacks.h index 5d3a0b9..e748f39 100644 --- a/src/callbacks.h +++ b/src/callbacks.h @@ -27,6 +27,14 @@ void on_edit_unselect_all(GtkMenuItem * menuitem, /* help menu */ void on_help_about(GtkWidget * widget, gpointer data); +/* view menu */ +void on_view_home(GtkWidget * widget, gpointer data); +#if GTK_CHECK_VERSION(2, 6, 0) +void on_view_details(GtkWidget * widget, gpointer data); +void on_view_icons(GtkWidget * widget, gpointer data); +void on_view_list(GtkWidget * widget, gpointer data); +#endif + /* toolbar */ void on_back(GtkWidget * widget, gpointer data); void on_forward(GtkWidget * widget, gpointer data); @@ -36,9 +44,6 @@ void on_refresh(GtkWidget * widget, gpointer data); void on_updir(GtkWidget * widget, gpointer data); #if GTK_CHECK_VERSION(2, 6, 0) void on_view_as(GtkWidget * widget, gpointer data); -void on_view_detail(GtkMenuItem * menuitem, gpointer data); -void on_view_icon(GtkMenuItem * menuitem, gpointer data); -void on_view_list(GtkMenuItem * menuitem, gpointer data); #endif /* address bar */