Compare commits
18 Commits
tree-list-
...
3.0.3
Author | SHA1 | Date | |
---|---|---|---|
|
5b3d82176a | ||
|
565744d498 | ||
|
318dbe7524 | ||
|
80b6fd0978 | ||
|
da22745fa2 | ||
|
7abeab8490 | ||
|
be3fc28e66 | ||
|
647f8fb2fb | ||
|
c65309b673 | ||
|
6ff74f6e06 | ||
|
021ba76ceb | ||
|
1859972b3b | ||
|
f17bed1eac | ||
|
6accf7bf16 | ||
|
a5d5edace1 | ||
|
ed188c8b10 | ||
|
fa8bd08f5d | ||
|
8ee894ae46 |
29
NEWS
29
NEWS
@@ -1,3 +1,32 @@
|
||||
Overview of Changes in GTK+ 3.0.3
|
||||
=================================
|
||||
|
||||
* Support for the GDK_NATIVE_WINDOWS environment variable has
|
||||
been removed
|
||||
|
||||
* Bugs fixed:
|
||||
642604 GtkCssProvider leaks GError
|
||||
643416 Composited children of GtkScrolledWindow are drawn incorrectly...
|
||||
644119 Remove support for GDK_NATIVE_WINDOWS
|
||||
644248 stylecontext: add a raised style class
|
||||
644276 don't set the "pane-separator" style class to all the container
|
||||
644348 make GtkNotebook respect the focus-padding style property
|
||||
644353 Missing annotations in Gtk/Gdk Window and gtk_accelerator_parse
|
||||
644355 credits toggle inconsintency
|
||||
644570 handles with a background image don't work
|
||||
|
||||
|
||||
* Updated translations:
|
||||
Czech
|
||||
French
|
||||
Italian
|
||||
Hebrew
|
||||
Korean
|
||||
Kurdish
|
||||
Slovenian
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.0.2
|
||||
=================================
|
||||
|
||||
|
@@ -7968,7 +7968,7 @@ gdk_window_beep (GdkWindow *window)
|
||||
|
||||
if (toplevel)
|
||||
{
|
||||
if (GDK_WINDOW_IMPL_GET_CLASS (toplevel->impl)->beep (window))
|
||||
if (GDK_WINDOW_IMPL_GET_CLASS (toplevel->impl)->beep (toplevel))
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -731,8 +731,8 @@ gtk_about_dialog_init (GtkAboutDialog *about)
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Add the close button */
|
||||
close_button = gtk_dialog_add_button (GTK_DIALOG (about), GTK_STOCK_CLOSE,
|
||||
GTK_RESPONSE_CANCEL);
|
||||
close_button = gtk_dialog_add_button (GTK_DIALOG (about),
|
||||
GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL);
|
||||
gtk_dialog_set_default_response (GTK_DIALOG (about), GTK_RESPONSE_CANCEL);
|
||||
|
||||
/* Add the credits button */
|
||||
@@ -2467,7 +2467,11 @@ gtk_about_dialog_new (void)
|
||||
static void
|
||||
close_cb (GtkAboutDialog *about)
|
||||
{
|
||||
GtkAboutDialogPrivate *priv = about->priv;
|
||||
|
||||
switch_page (about, 0);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->credits_button), FALSE);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->license_button), FALSE);
|
||||
gtk_widget_hide (GTK_WIDGET (about));
|
||||
}
|
||||
|
||||
|
@@ -1141,9 +1141,11 @@ is_hyper (const gchar *string)
|
||||
|
||||
/**
|
||||
* gtk_accelerator_parse:
|
||||
* @accelerator: string representing an accelerator
|
||||
* @accelerator_key: (out): return location for accelerator keyval
|
||||
* @accelerator_mods: (out): return location for accelerator modifier mask
|
||||
* @accelerator: string representing an accelerator
|
||||
* @accelerator_key: (out) (allow-none): return location for accelerator
|
||||
* keyval, or %NULL
|
||||
* @accelerator_mods: (out) (allow-none): return location for accelerator
|
||||
* modifier mask, %NULL
|
||||
*
|
||||
* Parses a string representing an accelerator. The
|
||||
* format looks like "<Control>a" or "<Shift><Alt>F1" or
|
||||
|
@@ -1943,6 +1943,7 @@ gtk_notebook_size_request (GtkWidget *widget,
|
||||
gboolean switch_page = FALSE;
|
||||
gint vis_pages;
|
||||
gint focus_width;
|
||||
gint focus_pad;
|
||||
gint tab_overlap;
|
||||
gint tab_curvature;
|
||||
gint arrow_spacing;
|
||||
@@ -1952,6 +1953,7 @@ gtk_notebook_size_request (GtkWidget *widget,
|
||||
|
||||
gtk_widget_style_get (widget,
|
||||
"focus-line-width", &focus_width,
|
||||
"focus-padding", &focus_pad,
|
||||
"tab-overlap", &tab_overlap,
|
||||
"tab-curvature", &tab_curvature,
|
||||
"arrow-spacing", &arrow_spacing,
|
||||
@@ -2044,24 +2046,22 @@ gtk_notebook_size_request (GtkWidget *widget,
|
||||
gtk_style_context_restore (context);
|
||||
|
||||
page->requisition.width = child_requisition.width +
|
||||
tab_padding.left + tab_padding.right;
|
||||
tab_padding.left + tab_padding.right + 2 * (focus_width + focus_pad);
|
||||
|
||||
page->requisition.height = child_requisition.height +
|
||||
tab_padding.top + tab_padding.bottom;
|
||||
tab_padding.top + tab_padding.bottom + 2 * (focus_width + focus_pad);
|
||||
|
||||
switch (priv->tab_pos)
|
||||
{
|
||||
case GTK_POS_TOP:
|
||||
case GTK_POS_BOTTOM:
|
||||
page->requisition.height += 2 * (priv->tab_vborder +
|
||||
focus_width);
|
||||
page->requisition.height += 2 * priv->tab_vborder;
|
||||
tab_height = MAX (tab_height, page->requisition.height);
|
||||
tab_max = MAX (tab_max, page->requisition.width);
|
||||
break;
|
||||
case GTK_POS_LEFT:
|
||||
case GTK_POS_RIGHT:
|
||||
page->requisition.width += 2 * (priv->tab_hborder +
|
||||
focus_width);
|
||||
page->requisition.width += 2 * priv->tab_hborder;
|
||||
tab_width = MAX (tab_width, page->requisition.width);
|
||||
tab_max = MAX (tab_max, page->requisition.height);
|
||||
break;
|
||||
@@ -2100,8 +2100,7 @@ gtk_notebook_size_request (GtkWidget *widget,
|
||||
tab_height = MAX (tab_height, action_widget_requisition[ACTION_WIDGET_START].height);
|
||||
tab_height = MAX (tab_height, action_widget_requisition[ACTION_WIDGET_END].height);
|
||||
|
||||
padding = 2 * (tab_curvature + focus_width +
|
||||
priv->tab_hborder) - tab_overlap;
|
||||
padding = 2 * (tab_curvature + priv->tab_hborder) - tab_overlap;
|
||||
tab_max += padding;
|
||||
while (children)
|
||||
{
|
||||
@@ -2149,8 +2148,7 @@ gtk_notebook_size_request (GtkWidget *widget,
|
||||
tab_width = MAX (tab_width, action_widget_requisition[ACTION_WIDGET_START].width);
|
||||
tab_width = MAX (tab_width, action_widget_requisition[ACTION_WIDGET_END].width);
|
||||
|
||||
padding = 2 * (tab_curvature + focus_width +
|
||||
priv->tab_vborder) - tab_overlap;
|
||||
padding = 2 * (tab_curvature + priv->tab_vborder) - tab_overlap;
|
||||
tab_max += padding;
|
||||
|
||||
while (children)
|
||||
@@ -5163,17 +5161,18 @@ gtk_notebook_draw_tab (GtkNotebook *notebook,
|
||||
if (gtk_widget_has_focus (widget) &&
|
||||
priv->cur_page == page)
|
||||
{
|
||||
gint focus_width;
|
||||
gint focus_width, focus_pad;
|
||||
GtkAllocation allocation;
|
||||
|
||||
gtk_widget_get_allocation (page->tab_label, &allocation);
|
||||
gtk_widget_style_get (widget, "focus-line-width", &focus_width, NULL);
|
||||
gtk_widget_style_get (widget, "focus-padding", &focus_pad, NULL);
|
||||
|
||||
gtk_render_focus (context, cr,
|
||||
allocation.x - focus_width,
|
||||
allocation.y - focus_width,
|
||||
allocation.width + 2 * focus_width,
|
||||
allocation.height + 2 * focus_width);
|
||||
allocation.x - focus_width - focus_pad,
|
||||
allocation.y - focus_width - focus_pad,
|
||||
allocation.width + 2 * (focus_width + focus_pad),
|
||||
allocation.height + 2 * (focus_width + focus_pad));
|
||||
}
|
||||
|
||||
gtk_style_context_restore (context);
|
||||
@@ -6052,7 +6051,7 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
GtkRequisition tab_requisition;
|
||||
GtkStyleContext *context;
|
||||
gint padding;
|
||||
gint focus_width;
|
||||
gint focus_width, focus_padding;
|
||||
gint tab_curvature, tab_overlap;
|
||||
gint tab_pos = get_effective_tab_pos (notebook);
|
||||
gboolean tab_allocation_changed;
|
||||
@@ -6078,6 +6077,7 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
gtk_widget_get_preferred_size (page->tab_label, &tab_requisition, NULL);
|
||||
gtk_widget_style_get (widget,
|
||||
"focus-line-width", &focus_width,
|
||||
"focus-padding", &focus_padding,
|
||||
"tab-curvature", &tab_curvature,
|
||||
"tab-overlap", &tab_overlap,
|
||||
NULL);
|
||||
@@ -6085,7 +6085,7 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
{
|
||||
case GTK_POS_TOP:
|
||||
case GTK_POS_BOTTOM:
|
||||
padding = tab_curvature + focus_width + priv->tab_hborder;
|
||||
padding = tab_curvature + priv->tab_hborder + focus_width + focus_padding;
|
||||
if (page->fill)
|
||||
{
|
||||
child_allocation.x = tab_padding.left + padding;
|
||||
@@ -6123,18 +6123,18 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
child_allocation.width = tab_requisition.width;
|
||||
}
|
||||
|
||||
child_allocation.y = priv->tab_vborder + focus_width + page->allocation.y;
|
||||
child_allocation.y = priv->tab_vborder + page->allocation.y;
|
||||
|
||||
if (tab_pos == GTK_POS_TOP)
|
||||
child_allocation.y += tab_padding.top;
|
||||
child_allocation.y += tab_padding.top + focus_width + focus_padding;
|
||||
|
||||
child_allocation.height = MAX (1, (page->allocation.height -
|
||||
tab_padding.top - tab_padding.bottom -
|
||||
2 * (priv->tab_vborder + focus_width)));
|
||||
2 * (priv->tab_vborder + focus_width + focus_padding)));
|
||||
break;
|
||||
case GTK_POS_LEFT:
|
||||
case GTK_POS_RIGHT:
|
||||
padding = tab_curvature + focus_width + priv->tab_vborder;
|
||||
padding = tab_curvature + priv->tab_vborder + focus_width + focus_padding;
|
||||
if (page->fill)
|
||||
{
|
||||
child_allocation.y = tab_padding.top + padding;
|
||||
@@ -6167,13 +6167,13 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
child_allocation.height = tab_requisition.height;
|
||||
}
|
||||
|
||||
child_allocation.x = priv->tab_hborder + focus_width + page->allocation.x;
|
||||
child_allocation.x = priv->tab_hborder + page->allocation.x;
|
||||
|
||||
if (tab_pos == GTK_POS_LEFT)
|
||||
child_allocation.x += tab_padding.left;
|
||||
child_allocation.x += tab_padding.left + focus_width + focus_padding;
|
||||
|
||||
child_allocation.width = MAX (1, (page->allocation.width - tab_padding.right -
|
||||
2 * (priv->tab_hborder + focus_width)));
|
||||
2 * (priv->tab_hborder + focus_width + focus_padding)));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -685,9 +685,6 @@ gtk_paned_init (GtkPaned *paned)
|
||||
priv->handle_pos.y = -1;
|
||||
|
||||
priv->drag_pos = -1;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (paned));
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_PANE_SEPARATOR);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1213,6 +1210,7 @@ gtk_paned_draw (GtkWidget *widget,
|
||||
|
||||
gtk_style_context_save (context);
|
||||
gtk_style_context_set_state (context, state);
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_PANE_SEPARATOR);
|
||||
gtk_render_handle (context, cr,
|
||||
priv->handle_pos.x - allocation.x,
|
||||
priv->handle_pos.y - allocation.y,
|
||||
|
@@ -2662,12 +2662,14 @@ gtk_theming_engine_render_handle (GtkThemingEngine *engine,
|
||||
GtkStateFlags flags;
|
||||
GdkRGBA *bg_color;
|
||||
GdkRGBA lighter, darker;
|
||||
GtkJunctionSides sides;
|
||||
gint xx, yy;
|
||||
|
||||
cairo_save (cr);
|
||||
flags = gtk_theming_engine_get_state (engine);
|
||||
|
||||
cairo_set_line_width (cr, 1);
|
||||
cairo_set_line_width (cr, 1.0);
|
||||
sides = gtk_theming_engine_get_junction_sides (engine);
|
||||
|
||||
gtk_theming_engine_get (engine, flags,
|
||||
"background-color", &bg_color,
|
||||
@@ -2675,19 +2677,10 @@ gtk_theming_engine_render_handle (GtkThemingEngine *engine,
|
||||
color_shade (bg_color, 0.7, &darker);
|
||||
color_shade (bg_color, 1.3, &lighter);
|
||||
|
||||
gdk_cairo_set_source_rgba (cr, bg_color);
|
||||
cairo_rectangle (cr, x, y, width, height);
|
||||
cairo_fill (cr);
|
||||
render_background_internal (engine, cr, x, y, width, height, sides);
|
||||
|
||||
if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_GRIP))
|
||||
{
|
||||
GtkJunctionSides sides;
|
||||
|
||||
cairo_save (cr);
|
||||
|
||||
cairo_set_line_width (cr, 1.0);
|
||||
sides = gtk_theming_engine_get_junction_sides (engine);
|
||||
|
||||
/* reduce confusing values to a meaningful state */
|
||||
if ((sides & (GTK_JUNCTION_CORNER_TOPLEFT | GTK_JUNCTION_CORNER_BOTTOMRIGHT)) == (GTK_JUNCTION_CORNER_TOPLEFT | GTK_JUNCTION_CORNER_BOTTOMRIGHT))
|
||||
sides &= ~GTK_JUNCTION_CORNER_TOPLEFT;
|
||||
@@ -2932,8 +2925,6 @@ gtk_theming_engine_render_handle (GtkThemingEngine *engine,
|
||||
yi += 3;
|
||||
}
|
||||
}
|
||||
|
||||
cairo_restore (cr);
|
||||
}
|
||||
else if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_PANE_SEPARATOR))
|
||||
{
|
||||
|
@@ -6997,8 +6997,7 @@ _gtk_widget_update_state_flags (GtkWidget *widget,
|
||||
|
||||
gtk_widget_propagate_state (widget, &data);
|
||||
|
||||
if (gtk_widget_is_drawable (widget))
|
||||
gtk_widget_queue_draw (widget);
|
||||
gtk_widget_queue_resize (widget);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -4277,14 +4277,16 @@ gtk_window_move (GtkWindow *window,
|
||||
/**
|
||||
* gtk_window_get_position:
|
||||
* @window: a #GtkWindow
|
||||
* @root_x: (out): return location for X coordinate of gravity-determined reference point
|
||||
* @root_y: (out): return location for Y coordinate of gravity-determined reference point
|
||||
* @root_x: (out) (allow-none): eturn location for X coordinate of
|
||||
* gravity-determined reference point, or %NULL
|
||||
* @root_y: (out) (allow-none): return location for Y coordinate of
|
||||
* gravity-determined reference point, or %NULL
|
||||
*
|
||||
* This function returns the position you need to pass to
|
||||
* gtk_window_move() to keep @window in its current position. This
|
||||
* means that the meaning of the returned value varies with window
|
||||
* gravity. See gtk_window_move() for more details.
|
||||
*
|
||||
* gtk_window_move() to keep @window in its current position.
|
||||
* This means that the meaning of the returned value varies with
|
||||
* window gravity. See gtk_window_move() for more details.
|
||||
*
|
||||
* If you haven't changed the window gravity, its gravity will be
|
||||
* #GDK_GRAVITY_NORTH_WEST. This means that gtk_window_get_position()
|
||||
* gets the position of the top-left corner of the window manager
|
||||
|
File diff suppressed because it is too large
Load Diff
5171
po-properties/it.po
5171
po-properties/it.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3478
po-properties/sv.po
3478
po-properties/sv.po
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user