Compare commits

...

18 Commits

Author SHA1 Message Date
Matthias Clasen
5b3d82176a Update NEWS 2011-03-14 12:31:13 -04:00
Cosimo Cecchi
565744d498 notebook: make GtkNotebook respect the focus-padding style property
https://bugzilla.gnome.org/show_bug.cgi?id=644348
2011-03-14 12:00:25 -04:00
Erdal Ronahi
318dbe7524 Updated Kurdish translation 2011-03-14 00:04:10 +01:00
Changwoo Ryu
80b6fd0978 Updated Korean translation 2011-03-13 23:27:02 +09:00
Matthias Clasen
da22745fa2 Add annotations to gtk_window_get_position
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:33:21 -05:00
Matthias Clasen
7abeab8490 Fix annotations for gtk_accelerator_parse
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:33:04 -05:00
Cosimo Cecchi
be3fc28e66 paned: don't set the "pane-separator" style class to all the container
Otherwise children inherit color properties specified for the pane
separator itself.

https://bugzilla.gnome.org/show_bug.cgi?id=644276
2011-03-12 20:38:49 -05:00
Carlos Garcia Campos
647f8fb2fb themingengine: Use render_background_internal() to render handle background
Instead of using always the background color. This fixes handles that
have a background image like gnome-panel applets in a transparent
panel.

https://bugzilla.gnome.org/show_bug.cgi?id=644570
2011-03-12 20:38:43 -05:00
Petr Kovar
c65309b673 Update Czech translation 2011-03-12 23:33:53 +01:00
Matthias Clasen
6ff74f6e06 GtkAboutDialog: keep toggle button state in sync
When hiding the dialog, we hide the credits/license parts, so
we need to update the toggle buttons controlling them.
https://bugzilla.gnome.org/show_bug.cgi?id=644355
2011-03-12 13:44:03 -05:00
Bruno Brouard
021ba76ceb Updated French translation 2011-03-12 18:08:25 +01:00
Yaron Shahrabani
1859972b3b Updated Hebrew translation. 2011-03-12 06:21:40 +02:00
Luca Ferretti
f17bed1eac Updated Italian translation 2011-03-12 02:09:30 +01:00
Daniel Nylander
6accf7bf16 Updated Swedish translation 2011-03-11 23:52:05 +01:00
Daniel Nylander
a5d5edace1 Updated Swedish translation 2011-03-11 23:51:51 +01:00
Klemen Košir
ed188c8b10 Updated Slovenian translation 2011-03-11 21:51:36 +01:00
Benjamin Otte
fa8bd08f5d gtk: Queue a resize after state changes
Lots of style properties - border-width in this case - can change the
size of widgets, so we need to queue a resize instead of just redrawing.
2011-03-11 19:53:35 +01:00
Tristan Van Berkom
8ee894ae46 Fixed gdk_window_beep() to pass the toplevel instance to the toplevel's implementation vfunc.
This incorrect assignment would cause asynchronous aborts from the X server
(they would occur if for instance, an offscreen GtkTreeView calls
gtk_widget_error_bell()).
2011-03-10 14:11:41 +09:00
18 changed files with 13354 additions and 14644 deletions

29
NEWS
View File

@@ -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
=================================

View File

@@ -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;
}

View File

@@ -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));
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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,

View File

@@ -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))
{

View File

@@ -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);
}
}

View File

@@ -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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1509
po/cs.po

File diff suppressed because it is too large Load Diff

2129
po/fr.po

File diff suppressed because it is too large Load Diff

476
po/ku.po

File diff suppressed because it is too large Load Diff

11839
po/sl.po

File diff suppressed because it is too large Load Diff

1389
po/sv.po

File diff suppressed because it is too large Load Diff