Mercurial > geeqie
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 { |