[gtk+] Remove pack consideration from tab drawing
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Remove pack consideration from tab drawing
- Date: Tue, 4 Jan 2011 07:23:37 +0000 (UTC)
commit 723fedef8b522c1a295a6ad514d44f3bd9d63ce0
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Jan 4 02:03:03 2011 -0500
Remove pack consideration from tab drawing
gtk/gtknotebook.c | 88 +++++++++-------------------------------------------
1 files changed, 16 insertions(+), 72 deletions(-)
---
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index 1f1a4de..2c42175 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -1899,60 +1899,22 @@ _gtk_notebook_get_tab_flags (GtkNotebook *notebook,
gboolean is_last = FALSE;
GList *pages;
- if (page->pack == GTK_PACK_START)
+ for (pages = priv->children; pages; pages = pages->next)
{
- gint last = -1;
+ GtkNotebookPage *p = pages->data;
- for (pages = priv->children; pages; pages = pages->next)
- {
- GtkNotebookPage *p = pages->data;
-
- if (!gtk_widget_get_visible (p->tab_label))
- continue;
-
- if (p->pack == GTK_PACK_END)
- last = i;
-
- if (page->pack == p->pack)
- i++;
-
- /* No need to keep counting tabs after it */
- if (page == p)
- {
- page_num = i;
- is_last = (last == -1 && pages->next == NULL);
- break;
- }
- }
- }
- else
- {
- gboolean found = FALSE;
+ if (!gtk_widget_get_visible (p->tab_label))
+ continue;
- is_last = TRUE;
+ i++;
- /* Count all pack_start tabs from the beginning
- * of the list until we find the page, then all
- * items until the end, that should give us the
- * tab position
- */
- for (pages = priv->children; pages; pages = pages->next)
+ /* No need to keep counting tabs after it */
+ if (page == p)
{
- GtkNotebookPage *p = pages->data;
-
- if (!gtk_widget_get_visible (p->tab_label))
- continue;
-
- if (p->pack == GTK_PACK_START || p == page || found)
- i++;
-
- if (page == p)
- found = TRUE;
- else if (p->pack == GTK_PACK_END && !found)
- is_last = FALSE;
+ page_num = i;
+ is_last = pages->next == NULL;
+ break;
}
-
- page_num = i;
}
if (page_num < 0)
@@ -4967,14 +4929,13 @@ gtk_notebook_paint (GtkWidget *widget,
gint tab_pos;
GtkStyleContext *context;
GtkRegionFlags tab_flags;
- gboolean has_pack_start, has_pack_end;
notebook = GTK_NOTEBOOK (widget);
priv = notebook->priv;
is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
tab_pos = get_effective_tab_pos (notebook);
context = gtk_widget_get_style_context (widget);
- showarrow = has_pack_start = has_pack_end = FALSE;
+ showarrow = FALSE;
if ((!priv->show_tabs && !priv->show_border) ||
!priv->cur_page || !gtk_widget_get_visible (priv->cur_page->child))
@@ -5060,16 +5021,11 @@ gtk_notebook_paint (GtkWidget *widget,
if (!gtk_widget_get_visible (page->child))
continue;
- if (page->pack == GTK_PACK_START)
- has_pack_start = TRUE;
- else
- has_pack_end = TRUE;
-
if (!gtk_widget_get_mapped (page->tab_label))
showarrow = TRUE;
/* No point in keeping searching */
- if (has_pack_start && has_pack_end && showarrow)
+ if (showarrow)
break;
}
@@ -5085,32 +5041,20 @@ gtk_notebook_paint (GtkWidget *widget,
switch (tab_pos)
{
case GTK_POS_TOP:
- if (has_pack_start)
- junction |= (is_rtl) ? GTK_JUNCTION_CORNER_TOPRIGHT : GTK_JUNCTION_CORNER_TOPLEFT;
+ junction |= (is_rtl) ? GTK_JUNCTION_CORNER_TOPRIGHT : GTK_JUNCTION_CORNER_TOPLEFT;
- if (has_pack_end)
- junction |= (is_rtl) ? GTK_JUNCTION_CORNER_TOPLEFT : GTK_JUNCTION_CORNER_TOPRIGHT;
break;
case GTK_POS_BOTTOM:
- if (has_pack_start)
- junction |= (is_rtl) ? GTK_JUNCTION_CORNER_BOTTOMRIGHT : GTK_JUNCTION_CORNER_BOTTOMLEFT;
+ junction |= (is_rtl) ? GTK_JUNCTION_CORNER_BOTTOMRIGHT : GTK_JUNCTION_CORNER_BOTTOMLEFT;
- if (has_pack_end)
- junction |= (is_rtl) ? GTK_JUNCTION_CORNER_BOTTOMLEFT : GTK_JUNCTION_CORNER_BOTTOMRIGHT;
break;
case GTK_POS_LEFT:
- if (has_pack_start)
- junction |= GTK_JUNCTION_CORNER_TOPLEFT;
+ junction |= GTK_JUNCTION_CORNER_TOPLEFT;
- if (has_pack_end)
- junction |= GTK_JUNCTION_CORNER_BOTTOMLEFT;
break;
case GTK_POS_RIGHT:
- if (has_pack_start)
- junction |= GTK_JUNCTION_CORNER_TOPRIGHT;
+ junction |= GTK_JUNCTION_CORNER_TOPRIGHT;
- if (has_pack_end)
- junction |= GTK_JUNCTION_CORNER_BOTTOMRIGHT;
break;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]