Mercurial > geeqie
comparison src/layout_image.c @ 156:dd6dc0a55d3d
better integration of split image functions into menu
author | nadvornik |
---|---|
date | Sat, 15 Dec 2007 17:58:51 +0000 |
parents | 0e54267762f6 |
children | 85657b4766c9 |
comparison
equal
deleted
inserted
replaced
155:d06bccc7551e | 156:dd6dc0a55d3d |
---|---|
701 LayoutWindow *lw = data; | 701 LayoutWindow *lw = data; |
702 | 702 |
703 layout_tools_hide_toggle(lw); | 703 layout_tools_hide_toggle(lw); |
704 } | 704 } |
705 | 705 |
706 static void li_pop_menu_split_none_cb(GtkWidget *widget, gpointer data) | |
707 { | |
708 LayoutWindow *lw = data; | |
709 layout_split_change(lw, SPLIT_NONE); | |
710 } | |
711 | |
712 static void li_pop_menu_split_hor_cb(GtkWidget *widget, gpointer data) | |
713 { | |
714 LayoutWindow *lw = data; | |
715 layout_split_change(lw, SPLIT_HOR); | |
716 } | |
717 | |
718 static void li_pop_menu_split_vert_cb(GtkWidget *widget, gpointer data) | |
719 { | |
720 LayoutWindow *lw = data; | |
721 layout_split_change(lw, SPLIT_VERT); | |
722 } | |
723 | |
724 static void li_pop_menu_split_quad_cb(GtkWidget *widget, gpointer data) | |
725 { | |
726 LayoutWindow *lw = data; | |
727 layout_split_change(lw, SPLIT_QUAD); | |
728 } | |
729 | |
730 static void li_pop_menu_connect_scroll_cb(GtkWidget *widget, gpointer data) | |
731 { | |
732 LayoutWindow *lw = data; | |
733 lw->connect_scroll = !lw->connect_scroll; | |
734 } | |
735 | |
736 static void li_pop_menu_connect_zoom_cb(GtkWidget *widget, gpointer data) | |
737 { | |
738 LayoutWindow *lw = data; | |
739 lw->connect_zoom = !lw->connect_zoom; | |
740 } | |
741 | |
742 | |
743 static GtkWidget *layout_image_pop_menu(LayoutWindow *lw) | 706 static GtkWidget *layout_image_pop_menu(LayoutWindow *lw) |
744 { | 707 { |
745 GtkWidget *menu; | 708 GtkWidget *menu; |
746 GtkWidget *item; | 709 GtkWidget *item; |
747 GtkWidget *submenu; | 710 GtkWidget *submenu; |
756 menu_item_add_stock(menu, _("Zoom _in"), GTK_STOCK_ZOOM_IN, G_CALLBACK(li_pop_menu_zoom_in_cb), lw); | 719 menu_item_add_stock(menu, _("Zoom _in"), GTK_STOCK_ZOOM_IN, G_CALLBACK(li_pop_menu_zoom_in_cb), lw); |
757 menu_item_add_stock(menu, _("Zoom _out"), GTK_STOCK_ZOOM_OUT, G_CALLBACK(li_pop_menu_zoom_out_cb), lw); | 720 menu_item_add_stock(menu, _("Zoom _out"), GTK_STOCK_ZOOM_OUT, G_CALLBACK(li_pop_menu_zoom_out_cb), lw); |
758 menu_item_add_stock(menu, _("Zoom _1:1"), GTK_STOCK_ZOOM_100, G_CALLBACK(li_pop_menu_zoom_1_1_cb), lw); | 721 menu_item_add_stock(menu, _("Zoom _1:1"), GTK_STOCK_ZOOM_100, G_CALLBACK(li_pop_menu_zoom_1_1_cb), lw); |
759 menu_item_add_stock(menu, _("Fit image to _window"), GTK_STOCK_ZOOM_FIT, G_CALLBACK(li_pop_menu_zoom_fit_cb), lw); | 722 menu_item_add_stock(menu, _("Fit image to _window"), GTK_STOCK_ZOOM_FIT, G_CALLBACK(li_pop_menu_zoom_fit_cb), lw); |
760 menu_item_add_divider(menu); | 723 menu_item_add_divider(menu); |
761 if (!fullscreen) | |
762 { | |
763 menu_item_add(menu, _("No split"), G_CALLBACK(li_pop_menu_split_none_cb), lw); | |
764 menu_item_add(menu, _("Split horizontaly"), G_CALLBACK(li_pop_menu_split_hor_cb), lw); | |
765 menu_item_add(menu, _("Split verticaly"), G_CALLBACK(li_pop_menu_split_vert_cb), lw); | |
766 menu_item_add(menu, _("Split quad"), G_CALLBACK(li_pop_menu_split_quad_cb), lw); | |
767 menu_item_add_check(menu, _("Connected scroll"), lw->connect_scroll, | |
768 G_CALLBACK(li_pop_menu_connect_scroll_cb), lw); | |
769 menu_item_add_check(menu, _("Connected zoom"), lw->connect_zoom, | |
770 G_CALLBACK(li_pop_menu_connect_zoom_cb), lw); | |
771 menu_item_add_divider(menu); | |
772 } | |
773 | 724 |
774 submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw); | 725 submenu = submenu_add_edit(menu, &item, G_CALLBACK(li_pop_menu_edit_cb), lw); |
775 if (!path) gtk_widget_set_sensitive(item, FALSE); | 726 if (!path) gtk_widget_set_sensitive(item, FALSE); |
776 menu_item_add_divider(submenu); | 727 menu_item_add_divider(submenu); |
777 menu_item_add(submenu, _("Set as _wallpaper"), G_CALLBACK(li_pop_menu_wallpaper_cb), lw); | 728 menu_item_add(submenu, _("Set as _wallpaper"), G_CALLBACK(li_pop_menu_wallpaper_cb), lw); |
1795 if (!lw->image || lw->active_split_image < 0 || lw->active_split_image > 1) | 1746 if (!lw->image || lw->active_split_image < 0 || lw->active_split_image > 1) |
1796 { | 1747 { |
1797 layout_image_activate(lw, 0); | 1748 layout_image_activate(lw, 0); |
1798 } | 1749 } |
1799 | 1750 |
1751 /* horizontal split means vpaned and vice versa */ | |
1800 if (horizontal) | 1752 if (horizontal) |
1753 paned = gtk_vpaned_new (); | |
1754 else | |
1801 paned = gtk_hpaned_new (); | 1755 paned = gtk_hpaned_new (); |
1802 else | |
1803 paned = gtk_vpaned_new (); | |
1804 | 1756 |
1805 gtk_paned_pack1 (GTK_PANED (paned), lw->split_images[0]->widget, TRUE, TRUE); | 1757 gtk_paned_pack1 (GTK_PANED (paned), lw->split_images[0]->widget, TRUE, TRUE); |
1806 gtk_paned_pack2 (GTK_PANED (paned), lw->split_images[1]->widget, TRUE, TRUE); | 1758 gtk_paned_pack2 (GTK_PANED (paned), lw->split_images[1]->widget, TRUE, TRUE); |
1807 | 1759 |
1808 gtk_widget_show (lw->split_images[0]->widget); | 1760 gtk_widget_show (lw->split_images[0]->widget); |