diff options
Diffstat (limited to 'packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff')
-rw-r--r-- | packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff b/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff deleted file mode 100644 index b99d346f4b..0000000000 --- a/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff +++ /dev/null @@ -1,252 +0,0 @@ ---- gtk+-2.6.4/gtk/gtktoolbar.c 2004-11-23 06:11:15.000000000 +0200 -+++ gtk+-2.6.4/gtk/gtktoolbar.c 2005-04-06 16:19:38.166736136 +0300 -@@ -67,7 +67,9 @@ - - #define DEFAULT_ICON_SIZE GTK_ICON_SIZE_LARGE_TOOLBAR - #define DEFAULT_TOOLBAR_STYLE GTK_TOOLBAR_BOTH -+#define DEFAULT_ANIMATION_STATE FALSE - -+#define DEFAULT_MAX_CHILD_SPACING G_MAXINT - #define MAX_HOMOGENEOUS_N_CHARS 13 /* Items that are wider than this do not participate - * in the homogeneous game. In units of - * pango_font_get_estimated_char_width(). -@@ -140,10 +142,14 @@ - - GTimer * timer; - -+ guint animation_connection; -+ - guint show_arrow : 1; - guint need_sync : 1; - guint is_sliding : 1; - guint need_rebuild : 1; /* whether the overflow menu should be regenerated */ -+ guint animation_set : 1; -+ guint animation : 1; - }; - - static void gtk_toolbar_init (GtkToolbar *toolbar); -@@ -225,9 +231,11 @@ - static void gtk_toolbar_reconfigured (GtkToolbar *toolbar); - static gboolean gtk_toolbar_check_new_api (GtkToolbar *toolbar); - static gboolean gtk_toolbar_check_old_api (GtkToolbar *toolbar); -+static void gtk_toolbar_update_animation_state (GtkToolbar *toolbar); - - static GtkReliefStyle get_button_relief (GtkToolbar *toolbar); - static gint get_internal_padding (GtkToolbar *toolbar); -+static gint get_max_child_expand (GtkToolbar *toolbar); - static GtkShadowType get_shadow_type (GtkToolbar *toolbar); - static gint get_space_size (GtkToolbar *toolbar); - static GtkToolbarSpaceStyle get_space_style (GtkToolbar *toolbar); -@@ -563,6 +571,15 @@ - G_PARAM_READABLE)); - - gtk_widget_class_install_style_property (widget_class, -+ g_param_spec_int ("max_child_expand", -+ P_("Maximum toolbar item spacing"), -+ P_("Maximum space between the toolbar items."), -+ 0, -+ G_MAXINT, -+ DEFAULT_MAX_CHILD_SPACING, -+ G_PARAM_READABLE)); -+ -+ gtk_widget_class_install_style_property (widget_class, - g_param_spec_enum ("space_style", - P_("Space style"), - P_("Whether spacers are vertical lines or just blank"), -@@ -598,6 +615,12 @@ - GTK_TYPE_ICON_SIZE, - DEFAULT_ICON_SIZE, - G_PARAM_READWRITE)); -+ -+ gtk_settings_install_property (g_param_spec_boolean ("gtk-toolbar-animation", -+ P_("Toolbar animation"), -+ P_("Are we using toolbar animation"), -+ DEFAULT_ANIMATION_STATE, -+ G_PARAM_READWRITE)); - - binding_set = gtk_binding_set_by_class (klass); - -@@ -638,6 +661,7 @@ - toolbar->orientation = GTK_ORIENTATION_HORIZONTAL; - toolbar->style = DEFAULT_TOOLBAR_STYLE; - toolbar->icon_size = DEFAULT_ICON_SIZE; -+ priv->animation = DEFAULT_ANIMATION_STATE; - toolbar->tooltips = gtk_tooltips_new (); - g_object_ref (toolbar->tooltips); - gtk_object_sink (GTK_OBJECT (toolbar->tooltips)); -@@ -960,7 +984,7 @@ - } - - static gint --position (gint from, gint to, gdouble elapsed) -+position (GtkToolbar *toolbar, gint from, gint to, gdouble elapsed) - { - gint n_pixels; - -@@ -978,11 +1002,20 @@ - n_pixels = (SLIDE_SPEED / ACCEL_THRESHOLD) * elapsed * elapsed - - SLIDE_SPEED * elapsed + SLIDE_SPEED * ACCEL_THRESHOLD; - } -- -- if (to > from) -- return MIN (from + n_pixels, to); -- else -- return MAX (from - n_pixels, to); -+ if (GTK_TOOLBAR_GET_PRIVATE (toolbar)->animation) { -+ if (to > from) -+ return MIN (from + n_pixels, to); -+ else -+ return MAX (from - n_pixels, to); -+ } -+ return to; -+} -+ -+static GtkSettings * -+toolbar_get_settings (GtkToolbar *toolbar) -+{ -+ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar); -+ return priv->settings; - } - - static void -@@ -994,12 +1027,12 @@ - GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar); - gdouble elapsed = g_timer_elapsed (priv->timer, NULL); - -- intermediate->x = position (start->x, goal->x, elapsed); -- intermediate->y = position (start->y, goal->y, elapsed); -+ intermediate->x = position (toolbar, start->x, goal->x, elapsed); -+ intermediate->y = position (toolbar, start->y, goal->y, elapsed); - intermediate->width = -- position (start->x + start->width, goal->x + goal->width, elapsed) - intermediate->x; -+ position (toolbar, start->x + start->width, goal->x + goal->width, elapsed) - intermediate->x; - intermediate->height = -- position (start->y + start->height, goal->y + goal->height, elapsed) - intermediate->y; -+ position (toolbar, start->y + start->height, goal->y + goal->height, elapsed) - intermediate->y; - } - - static void -@@ -1047,6 +1080,32 @@ - } - } - -+static void -+gtk_toolbar_update_animation_state (GtkToolbar *toolbar) -+{ -+ gboolean animation_state; -+ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar); -+ -+ g_return_if_fail (GTK_IS_TOOLBAR (toolbar)); -+ -+ if (priv->animation_set) -+ { -+ GtkSettings *settings = toolbar_get_settings (toolbar); -+ -+ if (settings) -+ { -+ g_object_get (settings, -+ "gtk-toolbar-animation", &animation_state, -+ NULL); -+ } -+ else -+ animation_state = DEFAULT_ANIMATION_STATE; -+ -+ priv->animation = animation_state; -+ priv->animation_set = FALSE; -+ } -+} -+ - static gboolean - slide_idle_handler (gpointer data) - { -@@ -1537,10 +1596,14 @@ - - if (toolbar_content_get_expand (content) && new_states[i] == NORMAL) - { -+ gint mexpand = get_max_child_expand(toolbar); - gint extra = size / n_expand_items; - if (size % n_expand_items != 0) - extra++; -- -+ if (extra > mexpand) { -+ extra = mexpand; -+ } -+ - allocations[i].width += extra; - size -= extra; - n_expand_items--; -@@ -1932,11 +1995,16 @@ - } - } - --static GtkSettings * --toolbar_get_settings (GtkToolbar *toolbar) -+static void -+animation_change_notify (GtkToolbar *toolbar) - { - GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar); -- return priv->settings; -+ if (!priv->animation_set) -+ { -+ /* pretend it was set, then unset, thus reverting to new default */ -+ priv->animation_set = TRUE; -+ gtk_toolbar_update_animation_state (toolbar); -+ } - } - - static void -@@ -1960,6 +2028,7 @@ - { - g_signal_handler_disconnect (old_settings, toolbar->style_set_connection); - g_signal_handler_disconnect (old_settings, toolbar->icon_size_connection); -+ g_signal_handler_disconnect (old_settings, priv->animation_connection); - - g_object_unref (old_settings); - } -@@ -1976,6 +2045,11 @@ - "notify::gtk-toolbar-icon-size", - G_CALLBACK (icon_size_change_notify), - toolbar); -+ priv->animation_connection = -+ g_signal_connect_swapped (settings, -+ "notify::gtk-toolbar-animation", -+ G_CALLBACK (animation_change_notify), -+ toolbar); - - g_object_ref (settings); - priv->settings = settings; -@@ -1985,6 +2059,7 @@ - - style_change_notify (toolbar); - icon_size_change_notify (toolbar); -+ animation_change_notify (toolbar); - } - - static int -@@ -2913,7 +2988,7 @@ - * gtk_toolbar_get_icon_size: - * @toolbar: a #GtkToolbar - * -- * Retrieves the icon size fo the toolbar. See gtk_toolbar_set_icon_size(). -+ * Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size(). - * - * Return value: the current icon size for the icons on the toolbar. - **/ -@@ -4642,6 +4717,17 @@ - return ipadding; - } - -+static gint -+get_max_child_expand (GtkToolbar *toolbar) -+{ -+ gint mexpand = DEFAULT_MAX_CHILD_SPACING; -+ -+ gtk_widget_style_get (GTK_WIDGET (toolbar), -+ "max_child_expand", &mexpand, -+ NULL); -+ return mexpand; -+} -+ - static GtkShadowType - get_shadow_type (GtkToolbar *toolbar) - { |