comparison src/layout_util.c @ 1470:38925ff71a46

do not re-create ui_manager at layout change
author nadvornik
date Fri, 20 Mar 2009 22:48:01 +0000
parents 607c60506863
children b4001cb9fbc4
comparison
equal deleted inserted replaced
1469:607c60506863 1470:38925ff71a46
1758 layout_toolbar_add_default(lw); 1758 layout_toolbar_add_default(lw);
1759 1759
1760 layout_actions_setup_marks(lw); 1760 layout_actions_setup_marks(lw);
1761 layout_actions_setup_editors(lw); 1761 layout_actions_setup_editors(lw);
1762 layout_copy_path_update(lw); 1762 layout_copy_path_update(lw);
1763
1764 layout_actions_add_window(lw, lw->window);
1763 } 1765 }
1764 1766
1765 void layout_editors_reload_all(void) 1767 void layout_editors_reload_all(void)
1766 { 1768 {
1767 GList *work; 1769 GList *work;
1798 gtk_window_add_accel_group(GTK_WINDOW(window), group); 1800 gtk_window_add_accel_group(GTK_WINDOW(window), group);
1799 } 1801 }
1800 1802
1801 GtkWidget *layout_actions_menu_bar(LayoutWindow *lw) 1803 GtkWidget *layout_actions_menu_bar(LayoutWindow *lw)
1802 { 1804 {
1803 return gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu"); 1805 if (lw->menu_bar) return lw->menu_bar;
1806 lw->menu_bar = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu");
1807 g_object_ref(lw->menu_bar);
1808 return lw->menu_bar;
1804 } 1809 }
1805 1810
1806 GtkWidget *layout_actions_toolbar(LayoutWindow *lw) 1811 GtkWidget *layout_actions_toolbar(LayoutWindow *lw)
1807 { 1812 {
1808 GtkWidget *bar = gtk_ui_manager_get_widget(lw->ui_manager, "/ToolBar"); 1813 if (lw->toolbar) return lw->toolbar;
1809 gtk_toolbar_set_icon_size(GTK_TOOLBAR(bar), GTK_ICON_SIZE_SMALL_TOOLBAR); 1814 lw->toolbar = gtk_ui_manager_get_widget(lw->ui_manager, "/ToolBar");
1810 gtk_toolbar_set_style(GTK_TOOLBAR(bar), GTK_TOOLBAR_ICONS); 1815 g_object_ref(lw->toolbar);
1811 return bar; 1816 gtk_toolbar_set_icon_size(GTK_TOOLBAR(lw->toolbar), GTK_ICON_SIZE_SMALL_TOOLBAR);
1817 gtk_toolbar_set_style(GTK_TOOLBAR(lw->toolbar), GTK_TOOLBAR_ICONS);
1818 return lw->toolbar;
1812 } 1819 }
1813 1820
1814 void layout_toolbar_clear(LayoutWindow *lw) 1821 void layout_toolbar_clear(LayoutWindow *lw)
1815 { 1822 {
1816 if (lw->toolbar_merge_id) 1823 if (lw->toolbar_merge_id)
2162 layout_bar_new_selection(lw, count); 2169 layout_bar_new_selection(lw, count);
2163 } 2170 }
2164 2171
2165 GtkWidget *layout_bars_prepare(LayoutWindow *lw, GtkWidget *image) 2172 GtkWidget *layout_bars_prepare(LayoutWindow *lw, GtkWidget *image)
2166 { 2173 {
2174 if (lw->utility_box) return lw->utility_box;
2167 lw->utility_box = gtk_hbox_new(FALSE, PREF_PAD_GAP); 2175 lw->utility_box = gtk_hbox_new(FALSE, PREF_PAD_GAP);
2168 lw->utility_paned = gtk_hpaned_new(); 2176 lw->utility_paned = gtk_hpaned_new();
2169 gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->utility_paned, TRUE, TRUE, 0); 2177 gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->utility_paned, TRUE, TRUE, 0);
2170 2178
2171 gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE); 2179 gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE);
2172 gtk_widget_show(lw->utility_paned); 2180 gtk_widget_show(lw->utility_paned);
2173 2181
2174 gtk_widget_show(image); 2182 gtk_widget_show(image);
2175 2183
2184 g_object_ref(lw->utility_box);
2176 return lw->utility_box; 2185 return lw->utility_box;
2177 } 2186 }
2178 2187
2179 void layout_bars_close(LayoutWindow *lw) 2188 void layout_bars_close(LayoutWindow *lw)
2180 { 2189 {