Mercurial > geeqie
diff src/layout_util.c @ 156:dd6dc0a55d3d
better integration of split image functions into menu
author | nadvornik |
---|---|
date | Sat, 15 Dec 2007 17:58:51 +0000 |
parents | 71e1ebee420e |
children | 436376b60867 |
line wrap: on
line diff
--- a/src/layout_util.c Fri Dec 14 21:51:46 2007 +0000 +++ b/src/layout_util.c Sat Dec 15 17:58:51 2007 +0000 @@ -489,6 +489,29 @@ layout_image_zoom_set(lw, 0.0); } +static void layout_menu_split_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data) +{ + LayoutWindow *lw = data; + ImageSplitMode mode = gtk_radio_action_get_current_value(action); + + if (mode == lw->split_mode) mode = 0; /* toggle back */ + + layout_split_change(lw, mode); +} + +static void layout_menu_connect_scroll_cb(GtkToggleAction *action, gpointer data) +{ + LayoutWindow *lw = data; + lw->connect_scroll = gtk_toggle_action_get_active(action); +} + +static void layout_menu_connect_zoom_cb(GtkToggleAction *action, gpointer data) +{ + LayoutWindow *lw = data; + lw->connect_zoom = gtk_toggle_action_get_active(action); +} + + static void layout_menu_thumb_cb(GtkToggleAction *action, gpointer data) { LayoutWindow *lw = data; @@ -785,6 +808,7 @@ { "EditMenu", NULL, N_("_Edit") }, { "AdjustMenu", NULL, N_("_Adjust") }, { "ViewMenu", NULL, N_("_View") }, + { "SplitMenu", NULL, N_("_Split") }, { "HelpMenu", NULL, N_("_Help") }, { "NewWindow", GTK_STOCK_NEW, N_("New _window"), NULL, NULL, CB(layout_menu_new_window_cb) }, @@ -830,6 +854,9 @@ { "ZoomOut", GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "minus", NULL, CB(layout_menu_zoom_out_cb) }, { "Zoom100", GTK_STOCK_ZOOM_100, N_("Zoom _1:1"), "Z", NULL, CB(layout_menu_zoom_1_1_cb) }, { "ZoomFit", GTK_STOCK_ZOOM_FIT, N_("_Zoom to fit"), "X", NULL, CB(layout_menu_zoom_fit_cb) }, + + + { "FullScreen", NULL, N_("F_ull screen"), "F", NULL, CB(layout_menu_fullscreen_cb) }, { "HideTools", NULL, N_("_Hide file list"), "<control>H", NULL, CB(layout_menu_hide_cb) }, { "SlideShow", NULL, N_("Toggle _slideshow"),"S", NULL, CB(layout_menu_slideshow_cb) }, @@ -843,13 +870,15 @@ static GtkToggleActionEntry menu_toggle_entries[] = { { "Thumbnails", NULL, N_("_Thumbnails"), "T", NULL, CB(layout_menu_thumb_cb) }, - { "Marks", NULL, N_("_Marks"), "M", NULL, CB(layout_menu_marks_cb) }, + { "Marks", NULL, N_("_Marks"), "M", NULL, CB(layout_menu_marks_cb) }, { "FolderTree", NULL, N_("Tr_ee"), "<control>T", NULL, CB(layout_menu_tree_cb) }, { "FloatTools", NULL, N_("_Float file list"), "L", NULL, CB(layout_menu_float_cb) }, { "HideToolbar", NULL, N_("Hide tool_bar"), NULL, NULL, CB(layout_menu_toolbar_cb) }, { "SBarKeywords", NULL, N_("_Keywords"), "<control>K", NULL, CB(layout_menu_bar_info_cb) }, { "SBarExif", NULL, N_("E_xif data"), "<control>E", NULL, CB(layout_menu_bar_exif_cb) }, - { "SBarSort", NULL, N_("Sort _manager"), "<control>S", NULL, CB(layout_menu_bar_sort_cb) } + { "SBarSort", NULL, N_("Sort _manager"), "<control>S", NULL, CB(layout_menu_bar_sort_cb) }, + { "ConnectScroll", NULL, N_("Connected scroll"), "<control>U", NULL, CB(layout_menu_connect_scroll_cb) }, + { "ConnectZoom", NULL, N_("Connected zoom"), "<control>Y", NULL, CB(layout_menu_connect_zoom_cb) } }; static GtkRadioActionEntry menu_radio_entries[] = { @@ -857,6 +886,13 @@ { "ViewIcons", NULL, N_("I_cons"), "<control>I", NULL, 1 } }; +static GtkRadioActionEntry menu_split_radio_entries[] = { + { "SplitHorizontal", NULL, N_("Horizontal"), "E", NULL, SPLIT_HOR }, + { "SplitVertical", NULL, N_("Vertical"), "U", NULL, SPLIT_VERT }, + { "SplitQuad", NULL, N_("Quad"), "Q", NULL, SPLIT_QUAD }, + { "SplitSingle", NULL, N_("Single"), "Y", NULL, SPLIT_NONE } +}; + #undef CB static const char *menu_ui_description = @@ -920,6 +956,15 @@ " <menuitem action='Zoom100'/>" " <menuitem action='ZoomFit'/>" " <separator/>" +" <menu action='SplitMenu'>" +" <menuitem action='SplitHorizontal'/>" +" <menuitem action='SplitVertical'/>" +" <menuitem action='SplitQuad'/>" +" <menuitem action='SplitSingle'/>" +" </menu>" +" <menuitem action='ConnectScroll'/>" +" <menuitem action='ConnectZoom'/>" +" <separator/>" " <menuitem action='Thumbnails'/>" " <menuitem action='Marks'/>" " <menuitem action='ViewList'/>" @@ -972,6 +1017,9 @@ gtk_action_group_add_radio_actions(lw->action_group, menu_radio_entries, G_N_ELEMENTS(menu_radio_entries), 0, G_CALLBACK(layout_menu_list_cb), lw); + gtk_action_group_add_radio_actions(lw->action_group, + menu_split_radio_entries, G_N_ELEMENTS(menu_split_radio_entries), + 0, G_CALLBACK(layout_menu_split_cb), lw); lw->ui_manager = gtk_ui_manager_new(); gtk_ui_manager_set_add_tearoffs(lw->ui_manager, TRUE);