xed-panel: Remove the header and close button

Now that we have the buttons on the statusbar for opening and closing the side
and bottom panels, we don't really need these anymore
This commit is contained in:
JosephMcc 2016-12-27 01:11:19 -08:00
parent 5d258f1e67
commit 6bc12a2be0
1 changed files with 1 additions and 140 deletions

View File

@ -48,12 +48,6 @@ struct _XedPanelPrivate
GtkOrientation orientation; GtkOrientation orientation;
GtkWidget *main_box; GtkWidget *main_box;
/* Title bar (vertical panel only) */
GtkWidget *title_image;
GtkWidget *title_label;
/* Notebook */
GtkWidget *notebook; GtkWidget *notebook;
}; };
@ -391,63 +385,6 @@ set_gtk_image_from_gtk_image (GtkImage *image,
} }
} }
static void
sync_title (XedPanel *panel,
XedPanelItem *item)
{
if (panel->priv->orientation != GTK_ORIENTATION_VERTICAL)
{
return;
}
if (item != NULL)
{
gtk_label_set_text (GTK_LABEL (panel->priv->title_label), item->name);
set_gtk_image_from_gtk_image (GTK_IMAGE (panel->priv->title_image), GTK_IMAGE (item->icon));
}
else
{
gtk_label_set_text (GTK_LABEL (panel->priv->title_label), _("Empty"));
gtk_image_set_from_stock (GTK_IMAGE (panel->priv->title_image), GTK_STOCK_FILE, GTK_ICON_SIZE_MENU);
}
}
static void
notebook_page_changed (GtkNotebook *notebook,
GtkWidget *page,
guint page_num,
XedPanel *panel)
{
GtkWidget *item;
XedPanelItem *data;
item = gtk_notebook_get_nth_page (notebook, page_num);
g_return_if_fail (item != NULL);
data = (XedPanelItem *)g_object_get_data (G_OBJECT (item), PANEL_ITEM_KEY);
g_return_if_fail (data != NULL);
sync_title (panel, data);
}
static void
panel_show (XedPanel *panel,
gpointer user_data)
{
gint page;
GtkNotebook *nb;
nb = GTK_NOTEBOOK (panel->priv->notebook);
page = gtk_notebook_get_current_page (nb);
if (page != -1)
{
notebook_page_changed (nb, NULL, page, panel);
}
}
static void static void
xed_panel_init (XedPanel *panel) xed_panel_init (XedPanel *panel)
{ {
@ -458,25 +395,6 @@ xed_panel_init (XedPanel *panel)
gtk_container_add (GTK_CONTAINER (panel), panel->priv->main_box); gtk_container_add (GTK_CONTAINER (panel), panel->priv->main_box);
} }
static void
close_button_clicked_cb (GtkWidget *widget,
GtkWidget *panel)
{
gtk_widget_hide (panel);
}
static GtkWidget *
create_close_button (XedPanel *panel)
{
GtkWidget *button;
button = xed_close_button_new ();
gtk_widget_set_tooltip_text (button, _("Hide panel"));
g_signal_connect (button, "clicked", G_CALLBACK (close_button_clicked_cb), panel);
return button;
}
static void static void
build_notebook_for_panel (XedPanel *panel) build_notebook_for_panel (XedPanel *panel)
{ {
@ -488,66 +406,17 @@ build_notebook_for_panel (XedPanel *panel)
gtk_notebook_popup_enable (GTK_NOTEBOOK (panel->priv->notebook)); gtk_notebook_popup_enable (GTK_NOTEBOOK (panel->priv->notebook));
gtk_widget_show (GTK_WIDGET (panel->priv->notebook)); gtk_widget_show (GTK_WIDGET (panel->priv->notebook));
g_signal_connect (panel->priv->notebook, "switch-page", G_CALLBACK (notebook_page_changed), panel);
} }
static void static void
build_horizontal_panel (XedPanel *panel) build_horizontal_panel (XedPanel *panel)
{ {
GtkWidget *box; gtk_box_pack_start (GTK_BOX (panel->priv->main_box), panel->priv->notebook, TRUE, TRUE, 0);
GtkWidget *sidebar;
GtkWidget *close_button;
box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (box), panel->priv->notebook, TRUE, TRUE, 0);
/* Toolbar, close button and first separator */
sidebar = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
gtk_container_set_border_width (GTK_CONTAINER (sidebar), 4);
gtk_box_pack_start (GTK_BOX (box), sidebar, FALSE, FALSE, 0);
close_button = create_close_button (panel);
gtk_box_pack_start (GTK_BOX (sidebar), close_button, FALSE, FALSE, 0);
gtk_widget_show_all (box);
gtk_box_pack_start (GTK_BOX (panel->priv->main_box), box, TRUE, TRUE, 0);
} }
static void static void
build_vertical_panel (XedPanel *panel) build_vertical_panel (XedPanel *panel)
{ {
GtkWidget *close_button;
GtkWidget *title_hbox;
GtkWidget *icon_name_hbox;
GtkWidget *dummy_label;
/* Create title hbox */
title_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
gtk_container_set_border_width (GTK_CONTAINER (title_hbox), 5);
gtk_box_pack_start (GTK_BOX (panel->priv->main_box), title_hbox, FALSE, FALSE, 0);
icon_name_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (title_hbox), icon_name_hbox, TRUE, TRUE, 0);
panel->priv->title_image = gtk_image_new_from_stock (GTK_STOCK_FILE, GTK_ICON_SIZE_MENU);
gtk_box_pack_start (GTK_BOX (icon_name_hbox), panel->priv->title_image, FALSE, TRUE, 0);
dummy_label = gtk_label_new (" ");
gtk_box_pack_start (GTK_BOX (icon_name_hbox), dummy_label, FALSE, FALSE, 0);
panel->priv->title_label = gtk_label_new (_("Empty"));
gtk_misc_set_alignment (GTK_MISC (panel->priv->title_label), 0, 0.5);
gtk_label_set_ellipsize(GTK_LABEL (panel->priv->title_label), PANGO_ELLIPSIZE_END);
gtk_box_pack_start (GTK_BOX (icon_name_hbox), panel->priv->title_label, TRUE, TRUE, 0);
close_button = create_close_button (panel);
gtk_box_pack_start (GTK_BOX (title_hbox), close_button, FALSE, FALSE, 0);
gtk_widget_show_all (title_hbox);
gtk_box_pack_start (GTK_BOX (panel->priv->main_box), panel->priv->notebook, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (panel->priv->main_box), panel->priv->notebook, TRUE, TRUE, 0);
} }
@ -575,8 +444,6 @@ xed_panel_constructor (GType type,
build_vertical_panel (panel); build_vertical_panel (panel);
} }
g_signal_connect (panel, "show", G_CALLBACK (panel_show), NULL);
return obj; return obj;
} }
@ -772,12 +639,6 @@ xed_panel_remove_item (XedPanel *panel,
gtk_notebook_remove_page (GTK_NOTEBOOK (panel->priv->notebook), page_num); gtk_notebook_remove_page (GTK_NOTEBOOK (panel->priv->notebook), page_num);
/* if we removed all the pages, reset the title */
if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (panel->priv->notebook)) == 0)
{
sync_title (panel, NULL);
}
g_signal_emit (G_OBJECT (panel), signals[ITEM_REMOVED], 0, item); g_signal_emit (G_OBJECT (panel), signals[ITEM_REMOVED], 0, item);
g_object_unref (G_OBJECT (item)); g_object_unref (G_OBJECT (item));