Updating branch refs/heads/ristretto-0.0 to 1f629afbfbf65b23fd27e97fae36cc47c5002f2e (commit) from 3f2f75e12dad09580ab774901b9f09151d3565eb (commit)
commit 1f629afbfbf65b23fd27e97fae36cc47c5002f2e Author: Stephan Arts <step...@xfce.org> Date: Sun Aug 30 11:36:48 2009 +0200 Place navigation-toolbar and thumbnail-bar next to eachother, regardless of orientation src/main_window.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 84 insertions(+), 6 deletions(-) diff --git a/src/main_window.c b/src/main_window.c index 4e8078c..30cb546 100644 --- a/src/main_window.c +++ b/src/main_window.c @@ -77,7 +77,11 @@ struct _RsttoMainWindowPriv GtkWidget *image_list_toolbar_menu; GtkWidget *picture_viewer; GtkWidget *p_viewer_s_window; - GtkWidget *hpaned; + GtkWidget *table; + GtkWidget *hpaned_left; + GtkWidget *hpaned_right; + GtkWidget *vpaned_top; + GtkWidget *vpaned_bottom; GtkWidget *thumbnailbar; GtkWidget *statusbar; @@ -231,6 +235,8 @@ cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *vie static void rstto_main_window_update_buttons (RsttoMainWindow *window); +static void +rstto_main_window_set_navigationbar_orientation (RsttoMainWindow *window, guint orientation); static GtkWidgetClass *parent_class = NULL; @@ -441,9 +447,19 @@ rstto_main_window_init (RsttoMainWindow *window) gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (window->priv->p_viewer_s_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (window->priv->p_viewer_s_window), window->priv->picture_viewer); window->priv->thumbnailbar = rstto_thumbnail_bar_new (NULL); - window->priv->hpaned = gtk_hpaned_new(); - gtk_paned_pack1 (GTK_PANED (window->priv->hpaned), window->priv->p_viewer_s_window, TRUE, FALSE); - gtk_paned_pack2 (GTK_PANED (window->priv->hpaned), window->priv->thumbnailbar, FALSE, FALSE); + + window->priv->hpaned_left = gtk_hpaned_new(); + window->priv->hpaned_right = gtk_hpaned_new(); + window->priv->vpaned_top = gtk_vpaned_new(); + window->priv->vpaned_bottom = gtk_vpaned_new(); + window->priv->table = gtk_table_new (3, 3, FALSE); + + gtk_paned_pack2 (GTK_PANED (window->priv->hpaned_left), window->priv->hpaned_right, TRUE, FALSE); + gtk_paned_pack1 (GTK_PANED (window->priv->hpaned_right), window->priv->vpaned_top, TRUE, FALSE); + gtk_paned_pack2 (GTK_PANED (window->priv->vpaned_top), window->priv->vpaned_bottom, TRUE, FALSE); + + gtk_paned_pack1 (GTK_PANED (window->priv->vpaned_bottom), window->priv->p_viewer_s_window, TRUE, FALSE); + gtk_paned_pack2 (GTK_PANED (window->priv->hpaned_right), window->priv->thumbnailbar, FALSE, FALSE); window->priv->statusbar = gtk_statusbar_new(); @@ -464,15 +480,19 @@ rstto_main_window_init (RsttoMainWindow *window) gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->menubar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->toolbar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->message_bar, FALSE,FALSE, 0); - gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->hpaned, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->image_list_toolbar, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->table, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->statusbar, FALSE, FALSE, 0); + gtk_table_attach_defaults (GTK_TABLE (window->priv->table), window->priv->hpaned_left, 1, 2, 1, 2); + gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 1, 0, 3, GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); + gtk_widget_set_no_show_all (window->priv->toolbar, TRUE); gtk_widget_set_no_show_all (window->priv->image_list_toolbar, TRUE); gtk_widget_set_no_show_all (window->priv->message_bar, TRUE); gtk_widget_set_no_show_all (window->priv->thumbnailbar, TRUE); + rstto_main_window_set_navigationbar_orientation (window, 3); + /** * Add missing pieces to the UI */ @@ -2077,6 +2097,64 @@ cb_rstto_main_window_message_bar_open (GtkWidget *widget, RsttoMainWindow *windo } } +static void +rstto_main_window_set_navigationbar_orientation (RsttoMainWindow *window, guint orientation) +{ + switch (orientation) + { + case 0: + g_object_ref (window->priv->image_list_toolbar); + g_object_ref (window->priv->thumbnailbar); + + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar); + gtk_paned_pack1 (GTK_PANED (window->priv->hpaned_left), window->priv->thumbnailbar, FALSE, FALSE); + + gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar); + gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 1, 0, 3, GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); + gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_VERTICAL); + rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_VERTICAL); + break; + case 1: + g_object_ref (window->priv->image_list_toolbar); + g_object_ref (window->priv->thumbnailbar); + + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar); + gtk_paned_pack1 (GTK_PANED (window->priv->vpaned_top), window->priv->thumbnailbar, FALSE, FALSE); + + gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar); + gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 3, 0, 1, GTK_EXPAND|GTK_FILL,GTK_FILL, 0, 0); + gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_HORIZONTAL); + rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_HORIZONTAL); + break; + case 2: + g_object_ref (window->priv->image_list_toolbar); + g_object_ref (window->priv->thumbnailbar); + + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar); + gtk_paned_pack2 (GTK_PANED (window->priv->hpaned_right), window->priv->thumbnailbar, FALSE, FALSE); + + gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar); + gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 2, 3, 0, 3, GTK_FILL,GTK_EXPAND|GTK_FILL, 0, 0); + gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_VERTICAL); + rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_VERTICAL); + break; + case 3: + g_object_ref (window->priv->image_list_toolbar); + g_object_ref (window->priv->thumbnailbar); + + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar); + gtk_paned_pack2 (GTK_PANED (window->priv->vpaned_bottom), window->priv->thumbnailbar, FALSE, FALSE); + + gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar); + gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 3, 2, 3, GTK_EXPAND|GTK_FILL,GTK_FILL, 0, 0); + gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_HORIZONTAL); + rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_HORIZONTAL); + break; + default: + break; + } +} + /* static gboolean cb_rstto_main_window_image_list_toolbar_popup_context_menu (GtkToolbar *toolbar, _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits