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);