@@ -60,6 +60,7 @@ struct _EomSidebarPrivate {
6060 GtkWidget * menu ;
6161 GtkWidget * hbox ;
6262 GtkWidget * label ;
63+ GtkWidget * arrow ;
6364
6465 GtkTreeModel * page_model ;
6566};
@@ -336,6 +337,16 @@ eom_sidebar_menu_item_activate_cb (GtkWidget *widget,
336337 g_object_notify (G_OBJECT (eom_sidebar ), "current-page" );
337338}
338339
340+ static void
341+ eom_sidebar_update_arrow_visibility (EomSidebar * sidebar )
342+ {
343+ EomSidebarPrivate * priv = sidebar -> priv ;
344+ const gint n_pages = eom_sidebar_get_n_pages (sidebar );
345+
346+ gtk_widget_set_visible (GTK_WIDGET (priv -> arrow ),
347+ n_pages > 1 );
348+ }
349+
339350static void
340351eom_sidebar_init (EomSidebar * eom_sidebar )
341352{
@@ -373,9 +384,10 @@ eom_sidebar_init (EomSidebar *eom_sidebar)
373384 G_CALLBACK (eom_sidebar_select_button_key_press_cb ),
374385 eom_sidebar );
375386
376- select_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL , 0 );
387+ select_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL , 6 );
377388
378389 eom_sidebar -> priv -> label = gtk_label_new ("" );
390+ gtk_widget_set_name (eom_sidebar -> priv -> label , "eom-sidebar-title" );
379391
380392 gtk_box_pack_start (GTK_BOX (select_hbox ),
381393 eom_sidebar -> priv -> label ,
@@ -385,12 +397,13 @@ eom_sidebar_init (EomSidebar *eom_sidebar)
385397
386398 arrow = gtk_image_new_from_icon_name ("pan-down-symbolic" , GTK_ICON_SIZE_BUTTON );
387399 gtk_box_pack_end (GTK_BOX (select_hbox ), arrow , FALSE, FALSE, 0 );
388- gtk_widget_show (arrow );
400+ eom_sidebar -> priv -> arrow = arrow ;
401+ gtk_widget_set_visible (arrow , FALSE);
389402
390403 gtk_container_add (GTK_CONTAINER (eom_sidebar -> priv -> select_button ), select_hbox );
391404 gtk_widget_show (select_hbox );
392405
393- gtk_box_pack_start (GTK_BOX (hbox ), eom_sidebar -> priv -> select_button , TRUE, TRUE, 0 );
406+ gtk_box_set_center_widget (GTK_BOX (hbox ), eom_sidebar -> priv -> select_button );
394407 gtk_widget_show (eom_sidebar -> priv -> select_button );
395408
396409 close_button = gtk_button_new ();
@@ -501,6 +514,8 @@ eom_sidebar_add_page (EomSidebar *eom_sidebar,
501514
502515 g_free (label_title );
503516
517+ eom_sidebar_update_arrow_visibility (eom_sidebar );
518+
504519 g_signal_emit (G_OBJECT (eom_sidebar ),
505520 signals [SIGNAL_PAGE_ADDED ], 0 , main_widget );
506521}
@@ -545,6 +560,8 @@ eom_sidebar_remove_page (EomSidebar *eom_sidebar, GtkWidget *main_widget)
545560 gtk_list_store_remove (GTK_LIST_STORE (eom_sidebar -> priv -> page_model ),
546561 & iter );
547562
563+ eom_sidebar_update_arrow_visibility (eom_sidebar );
564+
548565 g_signal_emit (G_OBJECT (eom_sidebar ),
549566 signals [SIGNAL_PAGE_REMOVED ], 0 , main_widget );
550567 }
0 commit comments