# HG changeset patch # User nadvornik # Date 1246125271 0 # Node ID fa942b3f0ef59b5f3e731cbf3af72e927f5c03f7 # Parent 9a081164e6e30dfbac36019dbec7bd2d8d09c6bd created Files and Folders submenu diff -r 9a081164e6e3 -r fa942b3f0ef5 src/layout_util.c --- a/src/layout_util.c Sat Jun 27 15:47:50 2009 +0000 +++ b/src/layout_util.c Sat Jun 27 17:54:31 2009 +0000 @@ -667,7 +667,7 @@ { OsdShowFlags flags = image_osd_get(lw->image); - if (flags | OSD_SHOW_INFO | OSD_SHOW_STATUS != flags) + if ((flags | OSD_SHOW_INFO | OSD_SHOW_STATUS) != flags) image_osd_set(lw->image, flags | OSD_SHOW_INFO | OSD_SHOW_STATUS); } else @@ -1291,7 +1291,7 @@ { "OrientationMenu", NULL, N_("_Orientation"), NULL, NULL, NULL }, { "ExternalMenu", NULL, N_("E_xternal Editors"), NULL, NULL, NULL }, { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL }, - { "DirMenu", NULL, N_("_View Directory as"), NULL, NULL, NULL }, + { "FileDirMenu", NULL, N_("_Files and Folders"), NULL, NULL, NULL }, { "ZoomMenu", NULL, N_("_Zoom"), NULL, NULL, NULL }, { "ColorMenu", NULL, N_("Color _Management"), NULL, NULL, NULL }, { "ConnectZoomMenu", NULL, N_("_Connected Zoom"), NULL, NULL, NULL }, @@ -1415,8 +1415,13 @@ }; static GtkRadioActionEntry menu_radio_entries[] = { - { "ViewList", NULL, N_("View Images as _List"), "L", N_("View Images as List"), 0 }, - { "ViewIcons", NULL, N_("View Images as I_cons"), "I", N_("View Images as Icons"), 1 } + { "ViewList", NULL, N_("Image _List"), "L", N_("View Images as List"), 0 }, + { "ViewIcons", NULL, N_("I_cons"), "I", N_("View Images as Icons"), 1 } +}; + +static GtkRadioActionEntry menu_view_dir_radio_entries[] = { + { "FolderList", NULL, N_("Folder _List"), "L", N_("View Folders as List"), DIRVIEW_LIST }, + { "FolderTree", NULL, N_("Folder _Tree"), "T", N_("View Folders as Tree"), DIRVIEW_TREE }, }; static GtkRadioActionEntry menu_split_radio_entries[] = { @@ -1448,6 +1453,7 @@ { "HistogramModeLog", NULL, N_("Lo_g Histogram"), NULL, N_("Log Histogram"), 1 }, }; + #undef CB static const gchar *menu_ui_description = @@ -1581,14 +1587,19 @@ " " " " " " -" " -" " -" " -" " -" " -" " +" " " " " " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " " " " " " " @@ -1611,9 +1622,6 @@ " " " " " " -" " -" " -" " " " " " " " diff -r 9a081164e6e3 -r fa942b3f0ef5 src/view_dir.c --- a/src/view_dir.c Sat Jun 27 15:47:50 2009 +0000 +++ b/src/view_dir.c Sat Jun 27 17:54:31 2009 +0000 @@ -66,11 +66,6 @@ static void vd_notify_cb(FileData *fd, NotifyType type, gpointer data); -GtkRadioActionEntry menu_view_dir_radio_entries[] = { - { "FolderList", NULL, N_("_List"), "L", NULL, DIRVIEW_LIST }, - { "FolderTree", NULL, N_("_Tree"), "T", NULL, DIRVIEW_TREE }, -}; - static void vd_destroy_cb(GtkWidget *widget, gpointer data) { ViewDir *vd = data; @@ -101,8 +96,6 @@ ViewDir *vd_new(DirViewType type, FileData *dir_fd) { - g_assert(VIEW_DIR_TYPES_COUNT <= G_N_ELEMENTS(menu_view_dir_radio_entries)); - ViewDir *vd = g_new0(ViewDir, 1); vd->widget = gtk_scrolled_window_new(NULL, NULL); @@ -611,12 +604,10 @@ GtkWidget *vd_pop_menu(ViewDir *vd, FileData *fd) { GtkWidget *menu; - GtkWidget *submenu; GtkWidget *item; gboolean active; gboolean rename_delete_active = FALSE; gboolean new_folder_active = FALSE; - gint i; active = (fd != NULL); switch (vd->type) @@ -682,17 +673,16 @@ menu_item_add_divider(menu); - item = menu_item_add(menu, _("_View as"), NULL, NULL); - submenu = gtk_menu_new(); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu); + + item = menu_item_add_check(menu, _("View as _List"), vd->type == DIRVIEW_LIST, + G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd); + g_object_set_data(G_OBJECT(item), VIEW_DIR_AS_SUBMENU_KEY, GINT_TO_POINTER(DIRVIEW_LIST)); - for (i = 0; i < VIEW_DIR_TYPES_COUNT; i++) - { - item = menu_item_add_check(submenu, _(menu_view_dir_radio_entries[i].label), - ((gint) vd->type == menu_view_dir_radio_entries[i].value), - G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd); - g_object_set_data(G_OBJECT(item), VIEW_DIR_AS_SUBMENU_KEY, GINT_TO_POINTER(menu_view_dir_radio_entries[i].value)); - } + item = menu_item_add_check(menu, _("View as _Tree"), vd->type == DIRVIEW_TREE, + G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd); + g_object_set_data(G_OBJECT(item), VIEW_DIR_AS_SUBMENU_KEY, GINT_TO_POINTER(DIRVIEW_TREE)); + + menu_item_add_divider(menu); menu_item_add_check(menu, _("Show _hidden files"), options->file_filter.show_hidden_files, G_CALLBACK(vd_toggle_show_hidden_files_cb), vd); diff -r 9a081164e6e3 -r fa942b3f0ef5 src/view_dir.h --- a/src/view_dir.h Sat Jun 27 15:47:50 2009 +0000 +++ b/src/view_dir.h Sat Jun 27 17:54:31 2009 +0000 @@ -22,7 +22,6 @@ }; #define VIEW_DIR_TYPES_COUNT 2 -extern GtkRadioActionEntry menu_view_dir_radio_entries[VIEW_DIR_TYPES_COUNT]; ViewDir *vd_new(DirViewType type, FileData *dir_fd);