[Xfce4-commits] <ristretto:stephan/icon-bar> Make auto-center measurements fool-proof
Stephan Arts
noreply at xfce.org
Sat Feb 4 12:32:06 CET 2012
Updating branch refs/heads/stephan/icon-bar
to 5cafffaab3f0bc3dfb2879ff7f2aa72bd14998e1 (commit)
from 505ff1fbea968e33cb82d36e56a0a8898e01902d (commit)
commit 5cafffaab3f0bc3dfb2879ff7f2aa72bd14998e1
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 4 11:57:06 2012 +0100
Make auto-center measurements fool-proof
src/icon_bar.c | 76 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 59 insertions(+), 17 deletions(-)
diff --git a/src/icon_bar.c b/src/icon_bar.c
index 0d8f5fa..7bb2f3f 100644
--- a/src/icon_bar.c
+++ b/src/icon_bar.c
@@ -193,7 +193,7 @@ rstto_icon_bar_set_adjustments (
GtkAdjustment *vadj);
static void
-rstto_icon_bar_adjustment_changed (
+cb_rstto_icon_bar_adjustment_value_changed (
GtkAdjustment *adjustment,
RsttoIconBar *icon_bar);
@@ -232,6 +232,16 @@ rstto_icon_bar_get_item_icon (
RsttoIconBar *icon_bar,
RsttoIconBarItem *item);
+static void
+rstto_icon_bar_adjustment_changed (
+ RsttoIconBar *icon_bar,
+ GtkAdjustment *adjustment);
+
+static void
+rstto_icon_bar_adjustment_value_changed (
+ RsttoIconBar *icon_bar,
+ GtkAdjustment *adjustment);
+
static RsttoIconBarItem *
rstto_icon_bar_item_new (void);
@@ -851,13 +861,12 @@ rstto_icon_bar_size_allocate (
value = (gtk_adjustment_get_upper (icon_bar->priv->vadjustment)-page_size);
gtk_adjustment_set_value (icon_bar->priv->vadjustment, value);
- gtk_adjustment_changed (icon_bar->priv->vadjustment);
- gtk_adjustment_changed (icon_bar->priv->hadjustment);
- icon_bar->priv->auto_center = TRUE;
+ rstto_icon_bar_adjustment_changed (icon_bar, icon_bar->priv->vadjustment);
+ rstto_icon_bar_adjustment_changed (icon_bar, icon_bar->priv->hadjustment);
}
else
{
- gtk_adjustment_value_changed (icon_bar->priv->hadjustment);
+ rstto_icon_bar_adjustment_changed (icon_bar, icon_bar->priv->hadjustment);
}
}
else
@@ -876,13 +885,12 @@ rstto_icon_bar_size_allocate (
value = (gtk_adjustment_get_upper (icon_bar->priv->hadjustment)-page_size);
gtk_adjustment_set_value (icon_bar->priv->hadjustment, value);
- gtk_adjustment_changed (icon_bar->priv->hadjustment);
- gtk_adjustment_changed (icon_bar->priv->vadjustment);
- icon_bar->priv->auto_center = TRUE;
+ rstto_icon_bar_adjustment_changed (icon_bar, icon_bar->priv->vadjustment);
+ rstto_icon_bar_adjustment_changed (icon_bar, icon_bar->priv->hadjustment);
}
else
{
- gtk_adjustment_value_changed (icon_bar->priv->vadjustment);
+ rstto_icon_bar_adjustment_changed (icon_bar, icon_bar->priv->vadjustment);
}
}
}
@@ -1111,7 +1119,7 @@ rstto_icon_bar_set_adjustments (
gtk_object_sink (GTK_OBJECT (icon_bar->priv->hadjustment));
g_signal_connect (icon_bar->priv->hadjustment, "value_changed",
- G_CALLBACK (rstto_icon_bar_adjustment_changed), icon_bar);
+ G_CALLBACK (cb_rstto_icon_bar_adjustment_value_changed), icon_bar);
need_adjust = TRUE;
}
@@ -1122,18 +1130,18 @@ rstto_icon_bar_set_adjustments (
gtk_object_sink (GTK_OBJECT (icon_bar->priv->vadjustment));
g_signal_connect (icon_bar->priv->vadjustment, "value_changed",
- G_CALLBACK (rstto_icon_bar_adjustment_changed), icon_bar);
+ G_CALLBACK (cb_rstto_icon_bar_adjustment_value_changed), icon_bar);
need_adjust = TRUE;
}
if (need_adjust)
- rstto_icon_bar_adjustment_changed (NULL, icon_bar);
+ cb_rstto_icon_bar_adjustment_value_changed (NULL, icon_bar);
}
static void
-rstto_icon_bar_adjustment_changed (
+cb_rstto_icon_bar_adjustment_value_changed (
GtkAdjustment *adjustment,
RsttoIconBar *icon_bar)
{
@@ -2261,8 +2269,9 @@ rstto_icon_bar_show_active (RsttoIconBar *icon_bar)
value = (gtk_adjustment_get_upper (icon_bar->priv->vadjustment)-page_size);
gtk_adjustment_set_value (icon_bar->priv->vadjustment, value);
- gtk_adjustment_value_changed (icon_bar->priv->vadjustment);
- icon_bar->priv->auto_center = TRUE;
+ rstto_icon_bar_adjustment_value_changed (
+ icon_bar,
+ icon_bar->priv->vadjustment);
return TRUE;
}
else
@@ -2274,9 +2283,42 @@ rstto_icon_bar_show_active (RsttoIconBar *icon_bar)
value = (gtk_adjustment_get_upper (icon_bar->priv->hadjustment)-page_size);
gtk_adjustment_set_value (icon_bar->priv->hadjustment, value);
- gtk_adjustment_value_changed (icon_bar->priv->hadjustment);
- icon_bar->priv->auto_center = TRUE;
+ rstto_icon_bar_adjustment_value_changed (
+ icon_bar,
+ icon_bar->priv->hadjustment);
return TRUE;
}
return FALSE;
}
+
+static void
+rstto_icon_bar_adjustment_changed (
+ RsttoIconBar *icon_bar,
+ GtkAdjustment *adjustment)
+{
+ if (TRUE == icon_bar->priv->auto_center)
+ {
+ gtk_adjustment_changed (adjustment);
+ icon_bar->priv->auto_center = TRUE;
+ }
+ else
+ {
+ gtk_adjustment_changed (adjustment);
+ }
+}
+
+static void
+rstto_icon_bar_adjustment_value_changed (
+ RsttoIconBar *icon_bar,
+ GtkAdjustment *adjustment)
+{
+ if (TRUE == icon_bar->priv->auto_center)
+ {
+ gtk_adjustment_value_changed (adjustment);
+ icon_bar->priv->auto_center = TRUE;
+ }
+ else
+ {
+ gtk_adjustment_value_changed (adjustment);
+ }
+}
More information about the Xfce4-commits
mailing list